在创建元素的有序列表时,我可以想到三种通过索引访问元素的合理方法:
给它一个唯一的 id,最后有一个数字并使用字符串操作:
<ol>
<li id="item-0"></li>
<li id="item-1"></li>
<li id="item-2"></li>
</ol>
...
for(var i = 0; i < 3; i++) {
$('#item-' + i).doWhatever();
}
给他们相同的类并使用eq
选择器:
<ol>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
</ol>
...
for(var i = 0; i < 3; i++) {
$('.item').eq(i).doWhatever();
}
或者给他们相同的类并使用nth-child
选择器:
<ol>
<li class="item"></li>
<li class="item"></li>
<li class="item"></li>
</ol>
...
for(var i = 1; i <= 3; i++) {
$('.item:nth-child(' + i + ')').doWhatever();
}
各自的优点和缺点是什么?还有其他更好的方法吗?