Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Div为null,即使它有子级_Javascript_Debugging_Dom_Console_Javascript Debugger - Fatal编程技术网

Javascript Div为null,即使它有子级

Javascript Div为null,即使它有子级,javascript,debugging,dom,console,javascript-debugger,Javascript,Debugging,Dom,Console,Javascript Debugger,在控制台中,我得到一个错误,div不能追加到body,因为它的值为null。为什么会这样?它有内容 var div = document.createElement("div"); document.getElementsByTagName('div').innerHTML = '<img alt="pickle" src="images/pickle">'; div.style.visibility = "visible"; div.style.position = "absol

在控制台中,我得到一个错误,div不能追加到body,因为它的值为null。为什么会这样?它有内容

var div = document.createElement("div");
document.getElementsByTagName('div').innerHTML = '<img alt="pickle" 
src="images/pickle">';
div.style.visibility = "visible";
div.style.position = "absolute";
div.style.zIndex = "3";
document.body.appendChild(div);
这里有两个问题

您的div还不是文档的一部分,因此document.getElementsByTagName'div'还不会生成该div 另外,document.getElementsByTagName'div'返回一个节点列表而不是单个节点,并且节点列表没有innerHTML属性。 更换这条线

document.getElementsByTagName('div').innerHTML = '<img alt="pickle" src="images/pickle">';

演示

var div=document.createElementdiv; div.innerHTML=; div.style.visibility=可见; div.style.position=绝对值; div.style.zIndex=3; document.body.appendChilddiv 这里有两个问题

您的div还不是文档的一部分,因此document.getElementsByTagName'div'还不会生成该div 另外,document.getElementsByTagName'div'返回一个节点列表而不是单个节点,并且节点列表没有innerHTML属性。 更换这条线

document.getElementsByTagName('div').innerHTML = '<img alt="pickle" src="images/pickle">';

演示

var div=document.createElementdiv; div.innerHTML=; div.style.visibility=可见; div.style.position=绝对值; div.style.zIndex=3;
document.body.appendChilddiv 实际上,您正在尝试在div出现在DOM中之前向其添加属性。 首先,您必须创建元素并赋予它属性。 试试这个

var div = document.createElement( "div" );
document.body.appendChild(div);
document.getElementsByTagName( 'div' )[ 0 ].innerHTML = ' <img alt="pickle" src="images/pickle"> ';
var divEle = document.getElementsByTagName( 'div' )[ 0 ];
divEle.style.visibility = "visible";
divEle.style.position = "absolute";
divEle.style.zIndex = "3";

实际上,您正在尝试在div出现在DOM中之前向其添加属性。 首先,您必须创建元素并赋予它属性。 试试这个

var div = document.createElement( "div" );
document.body.appendChild(div);
document.getElementsByTagName( 'div' )[ 0 ].innerHTML = ' <img alt="pickle" src="images/pickle"> ';
var divEle = document.getElementsByTagName( 'div' )[ 0 ];
divEle.style.visibility = "visible";
divEle.style.position = "absolute";
divEle.style.zIndex = "3";
getElementsByTagName方法返回HTMLCollection,即HTMLElements[div,div,…]的数组,即使它只找到1个元素

var divarray = document.getElementsByTagName("div");
if (divarray.length >= 1) var firstdiv = divarray[0];
getElementsByTagName方法返回HTMLCollection,即HTMLElements[div,div,…]的数组,即使它只找到1个元素

var divarray = document.getElementsByTagName("div");
if (divarray.length >= 1) var firstdiv = divarray[0];

还是不为我工作。这是我的页面:也许你能看到我在console@enzobarrett我已经附上了演示。确保在加载文档后调用此脚本。@enzobarrett将脚本包含在body标记之后。使其正常工作,我使用window.onload防止其提前加载。谢谢你的帮助,我还是不工作。这是我的页面:也许你能看到我在console@enzobarrett我已经附上了演示。确保在加载文档后调用此脚本。@enzobarrett将脚本包含在body标记之后。使其正常工作,我使用window.onload防止其提前加载。感谢您的帮助。为什么使用[0]?实际上document.getElementsByTagName'div'返回一个数组,这里我们需要第一个元素,所以[0]为什么使用[0]?实际上document.getElementsByTagName'div'返回一个数组,这里我们需要第一个元素,所以[0]