Javascript 单击事件时参考嵌套的div元素
请参阅单击事件时嵌套的Javascript 单击事件时参考嵌套的div元素,javascript,jquery,html,Javascript,Jquery,Html,请参阅单击事件时嵌套的div元素 我很难通过点击#mydata链接触发事件 <ul class="dropdown-menu example" role="menu" aria-labelledby="dropdownMenu1"> <li role="presentation"> <a role="menuitem" tabindex="-1" href=""> <div id="#mydata"> dat
div
元素
我很难通过点击#mydata
链接触发事件
<ul class="dropdown-menu example" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation">
<a role="menuitem" tabindex="-1" href="">
<div id="#mydata">
data
</div>
</a>
</li>
如何设置
$('.example')。单击(函数(e){
,这样一旦单击数据
,我就可以触发事件。您可以使用jQuery的on
方法并使用div
作为选择器
像这样:
$('a[role="menuitem"]').on('click', 'div', function(e){
console.log(this);
e.preventDefault();
});
为什么不将单击处理程序附加到
#mydata
div?因为#mydata
是一个ID,所以应该只有一个ID
$('#mydata').click( function() { ...
如果需要,可以从委派单击。示例:
$('.example').on('click', '#mydata', function() { ...
但是,除非#mydata
是动态的(即在页面加载后添加),否则这将不会有用
如果要在每个li
等上使用单击手柄,请执行以下操作:
$('.example').on('li', '#mydata', function() { ...
仅仅$(“#mydata”)有什么问题。
?的可能重复?由于实际ID以
开头,您必须转义选择器中的\
:$(“#\\\测试”)