我有以下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>
在我的方法中,为每个li
设置属性number
i = 0;
$('li').each(function()
{
$(this).attr('number',i);
i++;
});
使用$(this).attr('number')
获取其编号;
这是jsFiddle演示http://jsfiddle.net/8tpab84s/,正在工作
但是我认为方法很复杂,如果要更改DOM li
,则需要再次设置数字属性。
有没有更简单的方法来代替这种方法? 无需设置任何属性。
感谢您的回复。
您可以将attr()
与函数一起使用作为第二个参数:
$('li').attr('number', function(_index) {
return _index;
});
演示:http://jsfiddle.net/techfoobar/8tpab84s/4/
感谢用户:NicoSantangelo - 您可以简单地使用回调函数的第一个参数而不是$(this).index()
演示
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;