Những gì tôi đang cố gắng làm là chuyển đổi nội dung textarea thành mã HTML hợp lệ. Giả sử bạn nhập bên trong TextArea và sau đó bạn nhấn một nút hiển thị văn bản được gõ bên trong một phần tử. Nếu bạn đã gõ một cái gì đó như bên trong Textarea:
Chuỗi kết quả bạn phải đặt bên trong phần tử '' là:
Đó là bởi vì dòng mới bên trong TextArea phải được chuyển đổi thành thẻ Điều tương tự sẽ xảy ra nếu bạn muốn lấy HTML của phần tử và đặt nó vào trường đầu vào TextArea, ví dụ:
nên được chuyển đổi thành:
Chuỗi kết quả bạn phải đặt bên trong phần tử '' là: Đó là bởi vì dòng mới bên trong TextArea phải được chuyển đổi thành thẻ Điều tương tự sẽ xảy ra nếu bạn muốn lấy HTML của phần tử và đặt nó vào trường đầu vào TextArea, ví dụ: nên được chuyển đổi thành:Vì vậy, có cách nào để chuyển đổi một chuỗi thành chuỗi HTML (và ngược lại) hay tôi nên tự viết một chức năng? var convertButton = document.getElementById('convertButton'); convertButton.onclick = function(){ var input = document.getElementById('input'); var output = document.getElementById('output'); var lines = input.value.split( '\n' ); var html = ''; for( var i=0; i<lines.length; i++ ) { if( lines[i].indexOf('Brand')===0 ) { var brand = lines[i].split(':')[1]; html += '<h3>' + brand + '</h3>'; }/* ww w. d e mo 2 s. c o m*/ if( lines[i].indexOf('/')!==-1 ) { var models = lines[i].split('/'); html += '<ul><li>' + models.join('</li><li>') + '</li></ul>'; } } output.innerHTML = html; }; <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> </head><!-- w w w . de m o2 s . c om --> <body> <textarea id="input" rows="5" cols="60">Brand: Brand1 Model1 /Model2 /Model3 /Model4 /Model5 /Model6 Brand: Brand2 Model1 /Model2 /Model3 /Model4 /Model5 /Model6 </textarea> <input id="convertButton" type="button" value="convert" /> <div id="output"></div> <script type='text/javascript'> var convertButton = document.getElementById('convertButton'); convertButton.onclick = function(){ var input = document.getElementById('input'); var output = document.getElementById('output'); var lines = input.value.split( '\n' ); var html = ''; for( var i=0; i<lines.length; i++ ) { if( lines[i].indexOf('Brand')===0 ) { var brand = lines[i].split(':')[1]; html += '<h3>' + brand + '</h3>'; } if( lines[i].indexOf('/')!==-1 ) { var models = lines[i].split('/'); html += '<ul><li>' + models.join('</li><li>') + '</li></ul>'; } } output.innerHTML = html; }; </script> </body> </html> Cảm ơn trước! Trước Sau
|