我有以下HTML结构:
<li class="is_tab" id="geometry_tab">
<a data-toggle="collapse" href="#geometry_tab_collapse">
<i class="pe-7s-plugin"></i>
<p>Geometry
<b class="caret"></b>
</p>
</a>
<div class="collapse" id="geometry_tab_collapse">
<ul class="nav">
<li class="is_tab" id="pipe_geometry_tab"><a href="#">Pipe Geometry</a></li>
</ul>
</div>
</li>
使用jQuery,我的目标是在点击时检索<li>
ID,无论用户是点击li.is_tab
,li.is_tab > a
,li.is_tab > a > p
还是{{1} }。此外,我希望相同的事件处理程序能够区分li.is_tab > a > i
和#pipe_geometry_tab
上的点击次数,即只需在单击其中一个或另一个时返回单个正确的ID。
给出以下代码段,
#geometry_tab
是否有$(<selector>).on("click", function(){...})
会在<selector>
上注册单点击,无论其是li.is_tab
,a
还是i
点击了{1}}个孩子?
如果没有,我会很感激如何解决这个问题。
PS我已经尝试了很多东西,但不是用这些东西臃肿这个帖子,我希望有经验的人觉得这有一个明显的解决方案。答案 0 :(得分:2)
$('li.is_tab').on("click", function(e){...});
^^应该可以正常工作,任何点击li
的内容都将被处理。
如果您想要点击li
,可以查看e.currentTarget
,如果您想查看点击的实际元素,可以使用e.target
因此,如果您想要点击id
的{{1}},您可以使用li