我以为以下脚本会创建div元素,但我的html中没有任何输出。谁能帮我?多谢。
var div=document.createElement('div');
div.setAttribute('id','testttttttt');
div.innerHTML='fjsoidfjiosdjfoi';
你的HTML中什么也得不到,因为你的HTML在服务器上。
您在 DOM 中什么也得不到,因为您尚未将元素添加到 DOM 中。
document.body.appendChild(div);
最后你必须使用appendChild
方法:
var div=document.createElement('div');
div.setAttribute('id','testttttttt');
div.innerHTML='fjsoidfjiosdjfoi';
document.body.appendChild(div);
否则,创建的元素将存在,但不会出现在您的页面中。
此外,您必须确保document.body
存在,否则它将抛出错误(如果此脚本将在加载时执行,请将其放入onload
事件中)。
PS:你也可以附加到任何其他 DOM 元素:
document.getElementById('myDivHolder').appendChild(div);
JSFiddle 示例:http://jsfiddle.net/AkXTr/
除了创建元素之外,还必须将其插入到 DOM 中。您可以使用 appendChild()
方法将其添加到给定父元素的末尾:
var div=document.createElement('div');
div.setAttribute('id','testttttttt');
div.innerHTML='fjsoidfjiosdjfoi';
// Now, append it
document.getElementById('someOtherElement').appendChild(div);
您实际上需要将其附加到某些内容中;我猜document.body
会做的。
var div = document.createElement('div');
div.id = 'testttttttt';
div.innerHTML = 'fjsoidfjiosdjfoi';
document.body.appendChild(div);
但是,请确保在document.body
实际存在时执行此操作,即在load
事件中或在body
元素本身中。
你正确地创建了div,只是它无处可去。它需要插入到文档中,例如
var div=document.createElement('div');
div.setAttribute('id','testttttttt');
div.innerHTML='fjsoidfjiosdjfoi';
document.getElementsByTagName("body")[0].appendChild(div);