for (var i = 0; i < $(".testP2").length; i++) {
$('.testP2').eq(i).addClass('test'+i);
}遍历类名为“.testP2”的元素,添加不同样式问题:为什么该代码无效?
5 回答
堂堂堂堂糖糖糖童鞋
TA贡献101条经验 获得超58个赞
这是一个全局变量i最后的值的问题(作用域问题)。
遍历之后,i的值为$(".testP2").length,那在通过$('.testP2').eq(i)就无法取得对应的元素,因为不存在$('.testP2').eq($(".testP2").length)的元素。
解决方式有两种:
for (let i = 0; i < $(".testP2").length; i++) {//ES6块级作用域声明let,兼容性不好 $('.testP2').eq(i).addClass('test'+i); }
for (var i = 0; i < $(".testP2").length; i++) {//闭包 (function(i){ $('.testP2').eq(i).addClass('test'+i); }(i)) }
添加回答
举报
0/150
提交
取消