javascript - 动态创建列表的 this 选择器也引用父级

标签 javascript jquery

 <ul id="parent">

 </ul>

 <script>
   var li =$('<li onclick="clicked(this)"/>').appendTo($('#parent'));
   var span=$('<span/>').text('first').appendTo(li);  
   var ul1=$('<ul onclick="clicked(this)"/>').appendTo(li);
   var li1=$('<ul onclick="clicked(this)"/>').appendTo(ul1);
   var span1=$('<span/>').text('second').appendTo(li1);   

   function clicked(ref)
   {
      alert($(ref).children('span').text());
   } 
</script>

我的问题是,当我单击第二个时,警报框会弹出两次,并显示第一个和第二个。但我只想要第二个。

我怎样才能只引用li1

最佳答案

您正在将 li1 作为子项添加到另一个 li。我不知道这是否是您想要的,但您不应该这样做。这也是您收到两个警报的原因。两个 onclick 处理程序都会被触发。

关于javascript - 动态创建列表的 this 选择器也引用父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17874038/

相关文章:

javascript - html页面打开时如何隐藏表格

php - 我可以同时使用 PHP 和 JavaScript Facebook API 吗?

javascript - jQuery 选择器,包含等于

javascript - 如何为使用window.open打开的新窗口指定外部js和css

javascript - 获取div在页面滚动上的位置

javascript - JavaScript 如何用数组解释索引数组?

javascript - 如何在 Cordova iOS 应用程序中启用缩放

Javascript 获取当前日期而不考虑时区

javascript - Laravel 6-Bootstrap 为什么 Popover 在没有错误的情况下不起作用?

jquery - 回调内绑定(bind)/取消绑定(bind)