2013-03-03 62 views
22

如何在不使用jQuery的情況下編寫此代碼?prepend沒有jQuery?

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

試着看起來更加輕盈 – mplungjan 2013-03-03 14:31:17

+6

我認爲這個問題代表了自己。它與標記爲重複的標記只有輕微的「相關」(標記的答案不能回答此問題) – 2014-02-06 12:00:59

回答

10

還有就是insertAdjacentHTML method,但它並沒有在老年FF版本一起使用:

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

實際上,它在大多數瀏覽器的舊版本中不起作用......但它們確實是舊版本(請參見https: //developer.mozilla.org/en-US/docs/Web/API/Element.insertAdjacentHTML);) - 它現在也是一個HTML5標準。但是,如果擔心,那麼不要害怕繼續使用jQuery - 這正是它的目的。 – 2014-02-06 12:03:00

21

你應該先學會如何不使用任何庫中創建一個元素。基本上,有一些方法可以爲文檔創建元素並附加元素。它們是createElement,insertBefore,appendChild

的createElement裁判:http://www.w3schools.com/jsref/met_document_createelement.asp
的insertBefore裁判:http://www.w3schools.com/jsref/met_node_insertbefore.asp
的appendChild裁判:http://www.w3schools.com/jsref/met_node_appendChild.asp

下面的代碼應該爲所有瀏覽器上運行。嘗試更多,瞭解更多。

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]);