jQuery - 只用.each选择每个第二个元素?

时间:2011-08-05 11:41:23

标签: jquery

是否可以仅使用.each()函数选择每个第2个元素?如果没有,还有哪些替代方案?

4 个答案:

答案 0 :(得分:9)

您可以使用:odd选择器:

$("yourSelector:odd").each(function() {
    // Will be called on every second element.
});

答案 1 :(得分:7)

这可能会有所帮助:

$('li').each(function(index) {
    if(index%2)
       alert(index + ': ' + $(this).text());
});

答案 2 :(得分:1)

您可以使用:nth-​​child()选择器。

$("selector:nth-child(2)")

答案 3 :(得分:-1)

如果要在循环中获取特定元素/节点或标记,例如

<p class="weekday" data-today="monday">Monday</p>
<p class="weekday" data-today="tuesday">Tuesday</p>
<p class="weekday" data-today="wednesday">Wednesday</p>
<p class="weekday" data-today="thursday">Thursday</p>

所以,从上面执行代码循环并且我们想要选择特定字段,我们必须使用jQuery选择,它只能从上面循环中选择期望元素,所以代码将是

$('.weekdays:eq(n)');

e.g。

$('.weekdays:eq(0)');

以及其他方法

$('.weekday').find('p').first('.weekdays').next()/last()/prev();

但是当HTML <tag>具有唯一的类名时,第一种方法会更有效。

注意:当目标元素或节点中没有类名时,使用第二种方法。

了解更多关注https://api.jquery.com/eq/