2009-11-17 45 views
11

làm cách nào để chèn một số mã HTML giữa <div id="mydiv">...</div> bằng javascript?chèn/xóa nội dung HTML giữa các thẻ div

Ví dụ: <div id="mydiv"><span class="prego">Something</span></div> khoảng 10 dòng html của nó nhiều nhất. cảm ơn bạn

+1

bạn đang thay thế HTML trong div, hoặc chèn thêm vào div? – Zoidberg

Trả lời

25

Nếu bạn đang thay thế các nội dung của div và có HTML như là một chuỗi, bạn có thể sử dụng như sau:

document.getElementById('mydiv').innerHTML = '<span class="prego">Something</span>'; 
3
// Build it using this variable 
var content = "<span class='prego'>....content....</span>"; 
// Insert using this: 
document.getElementById('mydiv').innerHTML = content; 
2
document.getElementById("mydiv").innerHTML = "<span class='prego'>Something</span>"; 

nên làm điều đó. Nếu bạn sẵn sàng sử dụng jQuery, nó có thể dễ dàng hơn.

2

document.getElementById ('mydiv'). InnerHTML = 'whatever';

2

Đó thực sự là một yêu cầu không rõ ràng. Có nhiều cách có thể thực hiện được.

document.getElementById('mydiv').innerHTML = '<span class="prego">Something</span>'; 

Đó là đơn giản nhất. HOẶC LÀ;

var spn = document.createElement('span'); 
spn.innerHTML = 'Something'; 
spn.className = 'prego'; 
document.getElementById('mydiv').appendChild(spn); 

Ưu tiên cả hai phương pháp này là sử dụng thư viện Javascript để tạo phương pháp tắt cho những thứ đơn giản như thế này, chẳng hạn như mootools. (http://mootools.net)

Với mootools nhiệm vụ này sẽ như thế nào:

new Element('span', {'html': 'Something','class':'prego'}).inject($('mydiv')); 
+0

Trong trường hợp này, sử dụng mootools không phải là một phím tắt. Bạn chỉ lưu được sáu ký tự và phải hiểu một khuôn khổ mới. Mootools có thể phù hợp với chức năng phức tạp hơn, đặc biệt là nơi giải pháp khác nhau trên mỗi trình duyệt. –

12

Một cách đơn giản để làm điều này với vanilla JavaScript sẽ được sử dụng appendChild.

var mydiv = document.getElementById("mydiv"); 
var mycontent = document.createElement("p"); 
mycontent.appendChild(document.createTextNode("This is a paragraph")); 
mydiv.appendChild(mycontent); 

Hoặc bạn có thể sử dụng innerHTML như những người khác đã đề cập.

Hoặc nếu bạn muốn sử dụng jQuery, ví dụ trên có thể được viết như sau:

$("#mydiv").append("<p>This is a paragraph</p>"); 
Các vấn đề liên quan