javascript - 如何为动态添加的跨度元素分配点击事件?

标签 javascript jquery html css

<分区>

html:

<div class="testSpanDiv"></div>

JavaScript:

  $(document).ready(function () {
      $('.testSpanDiv').append('<span id="testSpan">Hello</span>');
  }

  $('#testSpan').on('click', function(){
      $(this).parent().remove();
  });

点击动态添加的跨度元素时事件未触发。 如果将 span 元素静态添加到 html 中,则会触发事件。 你能对此提出任何建议吗?

我也像下面这样尝试过,但没有用。

  $('#testSpan').on('click', '.testSpanDiv', function(){
      $(this).parent().remove();
  });

最佳答案

你需要这样使用:

 $('.testSpanDiv').on('click', '#testSpan', function(){
  // ^^ parent div             ^^ element in which you want to bind the function
      $(this).parent().remove();
 });

关于javascript - 如何为动态添加的跨度元素分配点击事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39115692/

上一篇:css - 导入 LESS 中的 css 文件与 wordpress 中的排队样式

下一篇:HTML 表格截断文本但尽可能适合

相关文章:

javascript - 通过javascript在html标签内添加额外的属性

javascript - 暂停视频不会停止 html5 视频标签中的音频

javascript - Handsontable Select2 动态选项

javascript - 如何使用bind()代替live()?

html - CSS Slider - 悬停功能而不是点击

javascript - 更改 window.location.href 会中止 AJAX

javascript - 后退按钮需要重定向到上次访问的页面

jquery - 更改 <div> 部分的背景颜色

具有多个嵌套元素的 jQuery slideToggle

html - 如何缩小 HTML 代码?