循环遍历li元素的集合,在每个元素上添加z-index和递增值
我正在尝试做我认为是一个简单的任务,检查内容滑块div寻找li元素,并为每个元素添加一个z-index,每次递增一个值。
因此,对于三个li元素的集合,它们将被分配:
我尝试使用以下代码执行此操作:
var $lis = $('#contentSlider ul li'); for(var i = 0; i < $lis.length; ++i){ $lis:eq(1).css('z-index',1); }
并尝试使用:
var $lis = $('#contentSlider ul li'); for(var i = 0; i < $lis.length; ++i){ $('li').index($lis); }
知道如何做到这一点最好吗?
你需要each
方法:
$('#contentSlider ul li').each(function(i, el) { $(el).css('z-index', i + 1); });
您为each
方法提供了一个函数。 对于选择中的每个元素,此函数运行一次。 每次调用它时,都会将元素在选择(索引)中的位置作为第一个参数传递,将元素本身作为第二个参数传递。 我们需要向i
添加1
,因为它是0索引的。
你可以这样做
$('#contentSlider li').each(function(index) { $(this).css('z-index', index); });
演示: http : //jsfiddle.net/ynhat/zgYWK/