首页 > jquery选择器,选择不包含指定标签的元素

jquery选择器,选择不包含指定标签的元素

我有这样一个<ul>, 对应一个sidebar的菜单

<ul class="page-sidebar-menu">
<li>
    <a href="javascript:;">
        <i class="icon-pointer"></i>
    </a>
    <ul class="sub-menu">
        <li>
            <a href="javascript:;">Google Maps</a>
        </li>
        <li>
            <a href="javascript:;">Vector Maps</a>
        </li>
    </ul>
</li>
</ul>

外面那层<li>里面的<a>点击只是展开下拉菜单,现在我想监听最里面的<li>中的<a>的点击事件,
我的思路是外面的的<a>里面包含<i>标签,想用jquery选择器来排除,我想到的是$('page-sidebar-menu > li > a, a:not(:has(i))').on('click', ...);,结果调试发现点击外面的<a>也会触发,我这种写法有什么问题?或者正确的应该怎么写?


为何不直接这么写呢?

$(".sub-menu").find("a")

这样不就可以找到最里面的li下面的a了,为什么要大费周章呢


为啥不直接监听 .sub-menu 下的 a

【热门文章】
【热门文章】