2013-03-03 38 views
22

Làm thế nào tôi có thể viết điều này mà không cần sử dụng jQuery?tính năng thêm mà không cần jQuery?

$('body').prepend('<div id="idC" style="display: none;" class=""><div id="idA">' + titelN + '</div></div>'); 
+0

Cố gắng tìm kiếm một người khó khăn hơn – mplungjan

+6

Tôi nghĩ câu hỏi này là viết tắt của chính nó. Nó chỉ hơi "liên quan" với câu trả lời được đánh dấu trùng lặp (và câu trả lời được đánh dấu không trả lời câu hỏi này) –

Trả lời

10

Có là insertAdjacentHTML method, nhưng nó không hoạt động trong các phiên bản FF cũ:

document.body.insertAdjacentHTML('afterbegin', '<div id="idC" style="display: none;" class=""><div id="idA">' + titelN + '</div></div>'); 
+0

Trên thực tế nó không hoạt động trong các phiên bản cũ của hầu hết các trình duyệt ... //developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentHTML);) - bây giờ nó cũng là một chuẩn HTML5. Tuy nhiên, nếu điều đó lo lắng thì đừng ngại gắn bó với jQuery - đó chính xác là những gì nó làm. –

21

Trước tiên, bạn nên tìm hiểu làm thế nào để tạo ra một yếu tố mà không sử dụng bất kỳ thư viện. Về cơ bản, có một số phương pháp để bạn tạo phần tử và chắp thêm phần tử vào tài liệu. Chúng là createElement, insertBefore, appendChild.

createElement ref: http://www.w3schools.com/jsref/met_document_createelement.asp
insertBefore ref: http://www.w3schools.com/jsref/met_node_insertbefore.asp
appendChild ref: http://www.w3schools.com/jsref/met_node_appendChild.asp

Đoạn code dưới đây nên làm việc cho tất cả các trình duyệt. Hãy thử nhiều hơn và tìm hiểu thêm.

var parent = document.createElement("div"); 
parent.id = "idC"; 
parent.style.display = "none"; 

var child = document.createElement("div"); 
child.id = "idA"; 
child.innerHTML = titelN; 
parent.appendChild(child); 

document.body.insertBefore(parent,document.body.childNodes[0]); 
Các vấn đề liên quan