用索引填充ul列表

时间:2016-04-21 19:14:58

标签: javascript

我无法使用索引值填充ul li。

我的HTML。

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

我的JS下面。

$('document').ready(function(){
var indexus = $('li').index();
$('li').each(function(){
$('li').html(indexus);
});
});

JS小提琴:http://jsfiddle.net/kuJWc/407/

我想用li索引值填充li,但我最终只能获得最新的索引值(在本例中为3)。我如何在每个索引值中循环,以便每个li显示其自己索引号的值?

4 个答案:

答案 0 :(得分:2)

你应该这样做:

$('li').each(function(){
    $(this).html($(this).index());
});

您要将索引添加到所有li ..所以在每个$(this)内,您使用的是$('li').,它将最后一个值li索引添加到所有这些

答案 1 :(得分:1)

试试这个:

$('document').ready(function(){
  $('li').each(function(){   // iterate through each `li`
    var $li = $(this);       // get the current `li` element
    var index = $li.index(); // get the current `li` index
    $li.html(index);         // set the `li`'s html to the index value
  });
});

我添加了一些评论,以帮助您了解每个步骤的作用,我希望有所帮助!

答案 2 :(得分:1)

这个怎么样:

$('document').ready(function(){
    var indexus = $('li');
    for (var i = 0; i <= indexus.length; i++) {
        $(indexus[i]).html(i);
    }
});

Here它有效。

答案 3 :(得分:1)

你可以得到一个ul的孩子的数组,然后用这样的东西迭代每个孩子:

var arr = $('ul').children();

for (var i = 0; i < arr.length; i++){
  $(arr[i]).html(i);
}