Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击事件时参考嵌套的div元素_Javascript_Jquery_Html - Fatal编程技术网

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以
开头,您必须转义选择器中的
\
$(“#\\\测试”)