是否可以仅使用.each()函数选择每个第2个元素?如果没有,还有哪些替代方案?
答案 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>
具有唯一的类名时,第一种方法会更有效。
注意:当目标元素或节点中没有类名时,使用第二种方法。