Javascript 导致“无法调用null的方法'getElementsByTagName'时出错”?

Javascript 导致“无法调用null的方法'getElementsByTagName'时出错”?,javascript,Javascript,我试图为id为superbgimage的div的img子级提供一个完整大小的类,但返回此错误。问题是什么 这是我的剧本: var fullSize = document.getElementById("superbgimage"); var myImgItems = fullSize.getElementsByTagName("img"); myImgItems.setAttribute("class","fullSize"); HTML-实时代码 <div id="superbgima

我试图为id为superbgimage的div的img子级提供一个完整大小的类,但返回此错误。问题是什么

这是我的剧本:

var fullSize = document.getElementById("superbgimage");
var myImgItems = fullSize.getElementsByTagName("img");
myImgItems.setAttribute("class","fullSize");
HTML-实时代码

<div id="superbgimage" style="overflow: hidden; z-index: 0; position: fixed; width: 100%; height: 100%; top:0px; left: 0px; display:block;">
<img src="Artwork/art23.jpg" rel="13" style="position: absolute; width: 1281px; height:    949px; left: -269px; top: 0px; z-index: 0; display: none;">
</div>

您需要在«myImgItems»对象中的图像元素之间循环。它不是一个实际的数组,而是一个节点列表

试试这个

var fullSize = document.getElementById("superbgimage");
var myImgItems = fullSize.getElementsByTagName("img");

var i = myImgItems.length;

// Loop over the images and set the class
while(i--) {
  myImgItems[i].setAttribute('class', 'fullSize');
}

请发送您的htmlEither a没有superbgimage元素,或者b您没有在运行此操作之前等待DOM准备就绪。此外,myImgItems是一个节点列表。不能对其调用setAttribute。你需要循环它并在每个元素上调用setAttribute。我想知道,因为标签是由JS创建的。我可以把我的代码放在哪里,以便在DOM赶上后实现它?那怎么做呢?把它转过来叫它,是吗?或者有更好的方法来完成这一切吗?请注意,您的img标签并没有关闭。如果您的文档是XHTML,那么这是无效的,并且返回的错误应该与原始问题状态相同。我很想解决这个问题,因为为了凑合,我做了一些非常草率的代码,并给出了rel值样式,而不是设法给它们一个要样式的类。