【问题标题】:JQuery appending elements and acces to appended elementsJQuery 附加元素和对附加元素的访问
【发布时间】:2015-08-21 22:26:42
【问题描述】:

我有一个代码,我通过 JQuery 将一些 html 附加到 div 上,例如

$("#divId").append("<div class='click' data-id='id'></div>");

我想通过点击像这样附加的 div 来访问

$(".click").click(function(){
var id = $(this).attr('data-id');
alert(id);
});

但是当我点击时,没有发生,有什么解决办法吗?谢谢!

【问题讨论】:

标签: javascript jquery ajax dom


【解决方案1】:

您需要使用事件委托。

$("body").on('click', '.click', function(){
   var id = $(this).attr('data-id');
   alert(id);
});

因为事件只绑定到页面上已经存在的元素。但在您的情况下,您正在动态附加元素。

body 也可以替换为包含这些元素的最近的祖先。

$("#divId").on('click',

Check Fiddle

【讨论】:

  • 必须在身体上方吗?或者它可以是 divID?
  • 在这种情况下也可以是#divId。容器越封闭越好
猜你喜欢
  • 2012-12-21
  • 1970-01-01
  • 2012-05-24
  • 2011-12-10
  • 1970-01-01
  • 2013-04-13
  • 2014-07-26
  • 1970-01-01
  • 2013-07-14
相关资源
最近更新 更多