如何获取从循环返回的元素的索引?

时间:2015-03-11 04:19:45

标签: javascript

我试图计算for循环中返回的元素数量,如果索引等于或大于4,则执行某些操作。我想要做的是,如果有超过4个元素(通过检查索引),我需要添加一个元素并附加一个事件处理程序。

这是代码:

// getting element (ul) with index 4
var swatches = document.querySelectorAll(".colorSlivers")[4];   
// getting element's children
var shownThumb = document.querySelectorAll(".colorSlivers")[4].children;
// iterating on those elements 
for (var i = 0; i < shownThumb.length; i++) {                       
    if (shownThumb[i] >= 4) {
        console.log("greater or equal than four");
    } else {
       console.log("not greater or equal than four");
    }               
}

我正在学习Javascript,现在正在网上浏览各种课程,请原谅我的基本问题。谢谢!

1 个答案:

答案 0 :(得分:1)

您的代码没有问题,但为什么要定义swatches,如果您不使用它:

// getting element (ul) with index 4
var swatches = document.querySelectorAll(".colorSlivers")[4];   
// getting element's children
var shownThumb = swatches.children;
// iterating on those elements 
for (var i = 0; i < shownThumb.length; i++) {                       
    if (shownThumb[i] >= 4) {
        //code to add element and event goes here
    } else {
       //do nothing
    }               
}

如果您的else条款不起作用,则表示您不需要它。

您还没有告诉我们什么元素或什么事件,但代码看起来像:

newElement=document.createElement('myElement');
newElement.myEvent = eventHandler;
shownThumb[i].attach(newElement);

function eventHandler() {//code}

myElement替换为新元素的名称,例如divmyEvent成为您的活动,例如onclick