這應該很簡單,但事實並非如此。添加到沒有jQuery的DOM
document.getElementsByTagName('body')[0].document.createTextNode(document.createElement('<div>some HTML</div>'));
它創建爲文本節點。我怎麼做,所以我只需添加沒有jQuery的HTML?
這應該很簡單,但事實並非如此。添加到沒有jQuery的DOM
document.getElementsByTagName('body')[0].document.createTextNode(document.createElement('<div>some HTML</div>'));
它創建爲文本節點。我怎麼做,所以我只需添加沒有jQuery的HTML?
關閉,但沒有雪茄。您必須手動(通過createElement
)創建元素,並然後追加,就像這樣:
var div = document.createElement("div");
div.innerHTML = "some HTML";
document.getElementsByTagName('body')[0].appendChild(div);
不幸的是,你不能在一個班輪做到這一點,因爲沒有函數來設置innerHTML
元素的屬性,這意味着它不可鏈接。只要一點準備,你可以做到這一點,雖然:
function setInnerHTML(element, content) {
element.innerHTML = content;
return element;
}
document.getElementsByTagName('body')[0].appendChild(setInnerHTML(document.createElement("div"), "some HTML"));
太好了。謝謝。任何想法如何在以後精確刪除創建的元素(單獨的部分腳本)? – user2143356
當然。既然我們已經存儲了對元素'div'的引用,我們可以這樣做:'div.parentNode.removeChild(div);' –
完美。謝謝 – user2143356
document.createElement而不是一個createTextNode
有正有很多方法:
elem.innerHTML = '' // fast
elem.appendChild()
elem.insertAdjacentElement() //fast
elem.insertAdjacentHTML()
elem.insertAdjacentText()
document.body.innerHTML+=document.createElement('div').outerHTML;
可能重複[插入HTML元素與JavaScript](http://stackoverflow.com/questions/814564/inserting-html-elements-with-javascript) –