我试图计算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,现在正在网上浏览各种课程,请原谅我的基本问题。谢谢!
答案 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
替换为新元素的名称,例如div
并myEvent
成为您的活动,例如onclick