thi*_*ity 19 javascript browser jquery
我有一个快速的问题.如何用多个:eq()选择器编写jQuery选择器表达式?我想沿着DOM树走下去,但每个希望都不一致.这就是我的工作:
$('div:eq(0)').find('div:eq(1)').find('div:eq(5)')
Run Code Online (Sandbox Code Playgroud)
但以下是行不通的:
$('div:eq(0) div:eq(1) div:eq(5)')
Run Code Online (Sandbox Code Playgroud)
没有所有的"发现",是否有更优雅的方式来编写它?
mre*_*ros 29
我相信你可以做以下事情,它应该返回匹配的所有dom元素:
$('div:eq(0), div:eq(1), div:eq(5)')
Run Code Online (Sandbox Code Playgroud)
然后你可以迭代返回的结果,希望这会有所帮助.
nor*_*can 20
我的解决方案使用each循环:
$.each([0, 1, 5], (_, n) => {
$('div').eq(n);
});
Run Code Online (Sandbox Code Playgroud)
如果需要,可以将数组作为变量传递.它看起来很漂亮,但如果你想要性能,这似乎击败了所有人:
$('div').filter(':eq(0), :eq(1), :eq(5)');
Run Code Online (Sandbox Code Playgroud)
比较性能:http://jsperf.com/jquery-selecting-elements-by-index/3
| 归档时间: |
|
| 查看次数: |
17092 次 |
| 最近记录: |