8

这应该很简单,但事实并非如此。

document.getElementsByTagName('body')[0].document.createTextNode( document.createElement('<div>some HTML</div>') );

它创建为文本节点。我该怎么做才能简单地添加没有 jQuery 的 HTML?

4

4 回答 4

17

关闭,但没有雪茄。您必须手动(通过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"));
于 2013-04-17T15:14:29.810 回答
5

document.createElement而不是 createTextNode

于 2013-04-17T15:15:21.607 回答
1

有很多方法:

elem.innerHTML = ''   // fast
elem.appendChild()    
elem.insertAdjacentElement()  //fast    
elem.insertAdjacentHTML()
elem.insertAdjacentText()
于 2013-04-17T15:22:35.323 回答
0
document.body.innerHTML+=document.createElement('div').outerHTML;
于 2016-12-12T15:45:47.287 回答