我有这个HTML结构:
<ul>
<li class="foo">
content1
<ul>
<li class="foo">
content2
<ul>
<li class="foo">
content3
<!-- N levels of depth -->
</li>
</ul>
</li>
</ul>
</li>
</ul>
我想在点击事件中检索第二个<li>
元素(包含&#34; content2&#34;)。我目前正在使用这种方法:
$('body').on('click', '.foo', function() {
var $this = $(this);
// Do something with the element
});
但是,正如您可以猜到的,这也将选择父元素,因为它还包含foo
类。我想选择最多&#34;准确&#34;节点没有触发父元素的事件(例如:如果我点击content3,它应该只触发这个元素的事件,而不是他的父母)。
有什么建议吗?
答案 0 :(得分:5)
幸运的是,这个解决方案非常直接!
$(document).on('click', '.foo', function( e ) {
e.stopPropagation();
var $this = $(this);
// Do something with the element
});