我有一个简单的问题。如何用多个:eq()选择器编写jQuery选择器表达式?我想沿着DOM树走下去,但每个希望都不一致。这就是我的工作:
$('div:eq(0)').find('div:eq(1)').find('div:eq(5)')
但以下情况不起作用:
$('div:eq(0) div:eq(1) div:eq(5)')
有没有更优雅的方式来编写它而没有所有的“查找”?
答案 0 :(得分:27)
我相信您可以执行以下操作,它应该返回匹配的所有dom元素:
$('div:eq(0), div:eq(1), div:eq(5)')
然后你可以迭代返回的结果,希望这会有所帮助。
答案 1 :(得分:18)
我的解决方案使用each
循环:
$.each([0, 1, 5], function(i, v) {
$('div').eq(v)
});
如果需要,可以将数组作为变量传递。它看起来很漂亮,但如果你想要表现,这似乎击败了所有人:
$('div').filter(':eq(0), :eq(1), :eq(5)')