jQuery - 选择最准确的节点

时间:2014-11-12 16:05:44

标签: jquery html

我有这个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,它应该只触发这个元素的事件,而不是他的父母)。

有什么建议吗?

1 个答案:

答案 0 :(得分:5)

幸运的是,这个解决方案非常直接!

$(document).on('click', '.foo', function( e ) {
    e.stopPropagation();
    var $this = $(this);
    // Do something with the element
});