我正在尝试在特定级别上使用jquery选择元素。它们必须直接属于#main->table
并包含类x
。
我正在尝试类似$('#main>table .column');
的东西但是这样我也得到了第二级div和类“x”(总共3)。我只需要在示例中用“想要”标记的两个元素。遗憾的是,我无法对代码进行任何更改......
也许有可能像$('#main>table .column:first-child');
这样的东西?不知何故,这也给我带来了3个元素。最好只考虑特定数量的水平
<div id=main>
<div class=x> <!-- not wanted -->
<table>
<tr>
<td>
<div class=x> <!-- wanted -->
<table>
<tr>
<td>
<div class=x></div> <!-- not wanted -->
</td>
</tr>
</table>
</div>
</td>
<td>
<div class=x></div> <!-- wanted -->
</td>
</tr>
</table>
</div>
</div>
提前感谢您的帮助!
答案 0 :(得分:1)
怎么样
$('#main>div>table>tr>td>div.x')
答案 1 :(得分:0)
如果类'x'表示级别的标记,您可以根据父级长度提交结果。
$('.x').filter(function(i,e) {
return $(e).parents('.x').length === 1;
})
通过这种方式,您可以轻松地重复使用代码:
$.fn.filterAt = function(level, selector) {
var ps = selector || this.selector;
return this.filter(function(i,e) {
return $(e).parents(ps).length === level;
});
};
$('.x').filterAt(1);
使用jQuery 1.7.2进行测试