javascript - jquery DOM 突变

标签 javascript jquery

我做了这个:

<span class="a">test 1</span><div></div>

为什么.b没有激活警报?

$( ".a" ).click(function() { 
$('div').html('<span class="b">test 2</span>');
});

$( ".b" ).click(function() {
alert("Hello");
});

我不明白如何检测 DOM 的突变。

最佳答案

因为 .b 是在查询完成后创建的。当您在脚本中调用 $(".b") 时,什么也找不到,并且 click 事件也没有附加到它。您可以通过将事件附加到文档来解决它,如下所示:

$(document).on("click", ".b", function () {
  alert("hello");
});

关于javascript - jquery DOM 突变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42877309/

相关文章:

javascript - 为 jQuery fadeIn 函数添加延迟

javascript - 在 ajax success() 函数中创建时,Bootstrap 警报刷新并消失

javascript - iOS webview 无法使用历史记录返回

javascript - 使用 JS 代码在幻灯片中垂直居中图像?

php - 我可以使用 AJAX 将表单数据/变量传递到 jQuery 脚本中的 php 吗?

jQuery colorbox 不显示主框但淡出背景

javascript - 如何使用转换将元素位置从 x1 转换为 x2?

JavaScript 数据结构

javascript - CanvasJS 多图表

javascript - 在 HTML 中单击按钮时调用 JavaScript 函数