Mat*_*hel 2 javascript gallery getelementsbytagname
我正在尝试将一组 div“galleryboxes”(位于另一个 div“galleryimages”内)的 ID 设置为递增增量,即。图片1、图片2等
我见过与此类似的问题,并试图了解它们,但这很困难。现在我的问题是,我从这里的第二行得到什么?什么是“画廊盒”?我是否能够像我尝试的那样像数组和标签 id 一样循环遍历它?
var galleryimages = document.getElementById("galleryimages");
var galleryboxes = galleryimages.getElementsByTagName("div");
var k = 1;
for (var i = 0; i < galleryboxes.length; i++) {
galleryboxes[i].setAttribute=("id", "picture" + k);
k++;
}
Run Code Online (Sandbox Code Playgroud)
代码似乎有效,但我认为我实际上并没有标记我想要标记的 div;我检查“picture1”的内容是什么,它显示为空(它应该充满了图片和一些文字)。
有问题的行是这样的:
var galleryboxes = galleryimages.getElementsByTagName("div");
Run Code Online (Sandbox Code Playgroud)
这样做的目的是为变量所代表的元素的子nodeList元素提供带有标记名称的所有元素的实时完整。请注意,这不是一个实际的数组,数组和. 最值得注意的是,一个不从继承的构造,因此不包含像基本方法,以及适用于所有阵列。<div>galleryimagesnodeListnodeListArraypushpopsort
是的。这对我们来说很容易,因为幸运的nodeList是 s 有一个length属性。您已经展示了如何遍历它们,但是设置属性的行格式不正确:
galleryboxes[i].setAttribute=("id", "picture" + k);
Run Code Online (Sandbox Code Playgroud)
等号不应该在那里。这会引发语法错误。如果你去掉相等,代码工作正常。