我想知道在第二行你是否还有i ++时,是否有人知道第四行[i-1]的原因?感谢您的任何帮助! (它来自书" JavaScript"来自Vodnik和Gosselin。)
if (figureCount === 3) {
for (var i = 1; i < 4; i++) {
filename = "images/IMG_0" + photoOrder[i] + "sm.jpg";
currentFig = document.getElementsByTagName("img")[i - 1];
currentFig.src = filename;
}//end of for loop
答案 0 :(得分:2)
因为document.getElementsByTagName返回HTMLCollection(类似于数组)因此。因此,访问页面上的第一个(和后续)img
标记是通过设置i-1
答案 1 :(得分:1)
document.getElementsByTagName
返回一个HTMLCollection,它不是一个数组,而是一个像object这样的数组。因此,要访问该集合中的任何元素,您可以传递索引。
document.getElementsByTagName("img")[i - 1]
正在创建所有img标签的集合&amp;它通过传递索引[i-1]
在下面的示例中,[1]
正在尝试访问集合中的第二个元素
var getAllDiv = document.getElementsByTagName('div');
console.log(getAllDiv[1].innerHTML)
&#13;
<div>1</div>
<div>2</div>
&#13;
答案 2 :(得分:0)
一些开发人员对for循环运算符逻辑感到困惑,而不是正确地执行它:
for (var i = 0; i < 3; i++) {
他们决定在混合中加入一些额外的处理(这不是什么大不了的事)但是我会以更少的价格解雇开发人员。
CurrentFig正在使用i - 1,因为它看起来有一个预先添加的img元素,因此开发人员也选择了它,而不是选择他需要的确切元素。