jQuery-索引编号标记元素有问题
我正在构建一个jQuery插件,它可以处理多个无序列表。我希望能够给每个列表中的每个li标记一个索引编号的类名,从每个列表中的1开始,如下所示:jQuery-索引编号标记元素有问题,jquery,indexing,Jquery,Indexing,我正在构建一个jQuery插件,它可以处理多个无序列表。我希望能够给每个列表中的每个li标记一个索引编号的类名,从每个列表中的1开始,如下所示: <ul class="ui-tabs-panel"> <li class="col-1">column 1</li> <li class="col-2">column 2</li> <li class="col-3">column 3</li>
<ul class="ui-tabs-panel">
<li class="col-1">column 1</li>
<li class="col-2">column 2</li>
<li class="col-3">column 3</li>
</ul>
<ul class="ui-tabs-panel">
<li class="col-1">column 1</li>
<li class="col-2">column 2</li>
<li class="col-3">column 3</li>
</ul>
但结果是:
<ul class="ui-tabs-panel">
<li class="col-1">column 1</li>
<li class="col-2">column 2</li>
<li class="col-3">column 3</li>
</ul>
<ul class="ui-tabs-panel">
<li class="col-4">column 1</li>
<li class="col-5">column 2</li>
<li class="col-6">column 3</li>
</ul>
第1列
第2列
第3列
第1列
第2列
第3列
每个ul不是从1重新启动,而是继续,好像它没有为一组全新的li标签编号
我需要做些什么才能让每一个新的ul重新开始计数?您将在一个大批量中完成所有的
LI
s。您必须分别检查每个UL
的LI
s:
要重新启动每个UL
的计数器,必须使用嵌套的.each()
es
$('ul.ui-tabs-panel').each(function() { // Get al ULs with .ui-tabs-panel
$(this).find("li").each(function(i) { // Go through each LI of this UL
$(this).addClass('col-' + (i+1)); // Add the right class
});
});
请注意,您可以动态使用,而不是使用类 例如,要在每个
UL.ui选项卡面板中选择第二个Li
,您可以执行以下操作:
// Select the second LI in each ul.ui-tabs-panel
$('ul.ui-tabs-panel li:nth-child(2)')
谢谢自从发布这个问题以来,我一直尝试使用嵌套的.each()函数,但我想我的语法不太正确。
// Select the second LI in each ul.ui-tabs-panel
$('ul.ui-tabs-panel li:nth-child(2)')