我有以下HTML代码:
<ul>
<li>Text</li> <!-- number:0; means first one-->
<li>Text</li> <!-- number:1; second one-->
<li>Text</li> <!-- number:2; third one-->
<li>Text</li> <!-- number:3 -->
<li>Text</li> <!-- number:4 -->
<li>Text</li> <!-- number:5 -->
</ul>
在我的方法中,为每个number
li
i = 0;
$('li').each(function()
{
$(this).attr('number',i);
i++;
});
使用$(this).attr('number')
获取其编号;
这里是jsFiddle DEMO http://jsfiddle.net/8tpab84s/ ,正在运作
但我认为方法很复杂,如果DOM li
被更改,我需要再次设置数字属性。
是否有更简单的方法来代替此方法?没有设置任何属性。
感谢您的回复。
答案 0 :(得分:5)
您可以将attr()
与函数一起用作第二个参数:
$('li').attr('number', function(_index) {
return _index;
});
演示:http://jsfiddle.net/techfoobar/8tpab84s/4/
感谢给用户:NicoSantangelo - 你可以简单地使用回调函数的第一个参数而不是$(this).index()
答案 1 :(得分:1)
var i = 0;
$('li').each(function(i)
{
alert(i);
});
你可以在那之后使用if语句
var i = 0;
$('li').each(function(i)
{
if(i == 1){ // that mean the li number 2
// your code here
}
});
并获得所有李的号码只需使用
$('li').length;