我有一个页面层次结构是这样的:选择嵌套元素
<div class="panel" attribute-id="1">
<button class="delete">
<div class="panel" attribute-id="2" association-id="20">
<button class="delete">
</div>
</div>
....
所以我有一堆这些面板里面嵌套的面板,和我想上单击处理程序创建上的删除按钮只有顶层面板(所以面板中没有关联ID的面板)。父母面板和子面板之间的唯一区别在于,子面板具有额外的属性“关联ID”。
所以我可以选择顶级面板只有像这样:
$('.panel[attribute-id]:not([association-id]')
但是,如果我试图从这些像获得了删除按钮:
$('.panel[attribute-id]:not([association-id] .delete')
显然,我仍然会得到孩子的按钮。
我无法修改html,我怎么能这样做?
每个OP - “我无法修改html” – IrkenInvader
好。 OP,剩下的html是什么样的?可以使用已经存在的其他东西。 panel_group div在哪里?基本上,你需要的是下一个级别的元素。如果这是面板组,那么你可以做“.panel-group> .panel”。 “>”运算符与所有的孩子相比都有了下一个级别。 –