我正在学习jQuery,需要一些帮助来循环并在类中添加1。
到目前为止,我有这个。
var $$ = jQuery;
$$(document).ready(function() {
var i = 1;
for (i < .dropdown_2columns ul li.drop) {
$$(".dropdown_2columns ul li.drop").addClass("dropfirst-" + i);
$$(".dropdown_2columns ul li .dropdown_2columns").addClass("tier3");
$$(".dropdown_2columns ul li .tier3").removeClass("dropdown_2columns");
$$(".dropdown_2columns .col_2 ul").addClass("firstsub");
$$(".dropdown_2columns .col_2:last-child").addClass("hide");
i++;
})
});
HTML
<div class="dropdown_2columns">
<div class="col_2">
<ul class="firstsub">
<li class="drop dropfirst"></li>
<li class="drop dropfirst"></li>
<li class="drop dropfirst"></li>
<li class="drop dropfirst"></li>
<li class="drop dropfirst"></li>
<li class="drop dropfirst"></li>
<li class="drop dropfirst"></li>
</ul>
</div>
我想为每个dropfirst class
增加li.dropfirst element
的计数。知道我做错了什么吗?附:我在整个网站上寻求帮助,但找不到我做错了什么。
由于
答案 0 :(得分:1)
这不是一个有效的陈述:
for (i < .dropdown_2columns ul li.drop)
应该是这样的:
for (var i=1; i < $('.dropdown_2columns ul li.drop').length; i++)
另外使用这种语法,i
将为您递增,因此没有理由在循环中执行i++
并且在创建循环的过程中定义了i
没有$$
这样的东西,除非你在一些你没有发布的代码中创建了这个函数或别名。
现在已经说了所有这一切,并不是100%清楚你要从代码中做什么。我怀疑你想要做的是类似于Jonathan和ComputerArts发布的解决方案,但我不确定,所以我将它们留给实现示例,只是停下来指出明显的错误。
答案 1 :(得分:0)
改为使用
$('.dropdown_2columns ul li.drop').each(function(i,v){
$(".dropdown_2columns ul li.drop").addClass("dropfirst-" + i);
$(".dropdown_2columns ul li .dropdown_2columns").addClass("tier3");
$(".dropdown_2columns ul li .tier3").removeClass("dropdown_2columns");
$(".dropdown_2columns .col_2 ul").addClass("firstsub");
$(".dropdown_2columns .col_2:last-child").addClass("hide");
});
答案 2 :(得分:0)
这应该这样做。 FIDDLE
$(document).ready(function () {
$('.dropdown_2columns').each(function (i) {
$(this).find('ul li.drop').addClass('dropfirst-' + i);
$(this).find('ul li .dropdown_2columns').addClass('tier3').removeClass('dropdown_2columns'); //there are no elements like this in your HTML
$(this).find('.col_2 ul').addClass('firstsub');
$(this).find('.col_2:last-child').addClass('hide');
})
});
使用.each()
创建一个循环。您可以将参数传递给函数...在这种情况下,“i”是一个计数器。
$(this)
引用.dropdown_2colums
元素,然后找到要操作的子元素。
你的子弹是嵌套的...我想你忘了关闭它们<li></li>