我认为以下脚本将创建div元素,但我的html中没有输出任何内容。任何人都可以帮我吗?非常感谢。
var div=document.createElement('div');
div.setAttribute('id','testttttttt');
div.innerHTML='fjsoidfjiosdjfoi';
答案 0 :(得分:4)
HTML中没有任何内容,因为您的HTML位于服务器上。
DOM中没有任何内容,因为您尚未将该元素添加到DOM中。
document.body.appendChild(div);
答案 1 :(得分:3)
最后必须使用appendChild
方法:
var div=document.createElement('div');
div.setAttribute('id','testttttttt');
div.innerHTML='fjsoidfjiosdjfoi';
document.body.appendChild(div);
否则,创建的元素将存在,但不会出现在您的页面中。
此外,您必须确保document.body
存在,否则,它将引发错误(如果此脚本将在加载时执行,则将其置于onload
事件中。)< / p>
PS:您还可以附加到任何其他DOM元素:
document.getElementById('myDivHolder').appendChild(div);
JSFiddle示例:http://jsfiddle.net/AkXTr/
答案 2 :(得分:3)
除了创建元素外,还必须将其插入DOM中。您可以使用appendChild()
方法将其添加到给定父元素的末尾:
var div=document.createElement('div');
div.setAttribute('id','testttttttt');
div.innerHTML='fjsoidfjiosdjfoi';
// Now, append it
document.getElementById('someOtherElement').appendChild(div);
答案 3 :(得分:2)
你实际上需要将它附加到某物上;我猜document.body
会这样做。
var div = document.createElement('div');
div.id = 'testttttttt';
div.innerHTML = 'fjsoidfjiosdjfoi';
document.body.appendChild(div);
请确保在document.body
实际存在时执行此操作,例如在load
事件中或body
元素本身内。
答案 4 :(得分:1)
你正确地创建了div,只是它无处不在。它需要插入到文档中,例如像
var div=document.createElement('div');
div.setAttribute('id','testttttttt');
div.innerHTML='fjsoidfjiosdjfoi';
document.getElementsByTagName("body")[0].appendChild(div);