Jquery 以不同方式操作:gt()返回的每个元素-可能吗?
我返回前3个Jquery 以不同方式操作:gt()返回的每个元素-可能吗?,jquery,Jquery,我返回前3个li元素,如下所示: $('li:*gt(0):lt(3)').animate({ 'left' : 10 }); 我想以不同的方式处理每个变量,现在我给每个变量一个left,值为10,但我希望第二个和第三个li的值分别为100和200 这可能吗?您可以使用。每个都可以检查索引: var animateValues = [10, 100, 200], $('li:*gt(0):lt(3)').each(function(i) { $(this).animate({
li
元素,如下所示:
$('li:*gt(0):lt(3)').animate({
'left' : 10
});
我想以不同的方式处理每个变量,现在我给每个变量一个left
,值为10
,但我希望第二个和第三个li
的值分别为100
和200
这可能吗?您可以使用
。每个都可以检查索引:
var animateValues = [10, 100, 200],
$('li:*gt(0):lt(3)').each(function(i) {
$(this).animate({
'left' : animateValues[i % animateValues.length];
});
});
为什么不使用.each()
,然后相应地将元素作为目标。因为可能有100个li元素,它应该是3乘3。但是也可以将它们作为目标放在内部。请参见下面的答案。它允许我也使用实际的第一个元素,否则0将是第二个元素。:*gt(0):lt(3)
与仅:lt(3)
有什么不同?但是如果我有更多的li元素呢?是否可以使其动态检查索引?是的,这取决于您的规则。因此,在您的示例中,我如何检查0、1、2
(因为返回的li元素是前3个)的索引,而不硬编码索引?您是否要为每个索引使用不同的规则?它本质上是围绕着将索引乘以一个设定的增量来适当地设置动画,第一秒和第三秒总是有它们自己的相同规则,如此类推。第一个左边是10,第二个100,第三个200,第四个10,第五个100,第六个200等等。