我有这样一个<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
下的a