这应该很简单,但事实并非如此。
document.getElementsByTagName('body')[0].document.createTextNode( document.createElement('<div>some HTML</div>') );
它创建为文本节点。我该怎么做才能简单地添加没有 jQuery 的 HTML?
这应该很简单,但事实并非如此。
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"));
document.createElement而不是 createTextNode
有很多方法:
elem.innerHTML = '' // fast
elem.appendChild()
elem.insertAdjacentElement() //fast
elem.insertAdjacentHTML()
elem.insertAdjacentText()
document.body.innerHTML+=document.createElement('div').outerHTML;