jQuery 动态创建 ID 为 : what happens if the element already exists? 的元素

标签 jquery

    var myWindow = $("<div id='msgwindow'/>").someWidget({
      option1: true,
      option2: someVariableWhoseValueChanges
     });

如果上面的代码被执行多次会发生什么? id 为 #msgwindow 的元素是否被完全或部分覆盖?是先销毁然后再创建吗?是否还有前一个实例的痕迹?任何事件监听器会发生什么?

最佳答案

您问题中的代码不适用 someWidget()到现有元素。它创建了一个新的 <div>元素并将小部件应用到该新元素(这可能会也可能不会导致将该元素附加到页面的 <body> ,具体取决于小部件)。

因此,多次运行此代码将导致创建多个元素并可能将其添加到 DOM 中。由于所有这些元素将共享相同的 id属性,这将使您的文档无效。

关于jQuery 动态创建 ID 为 : what happens if the element already exists? 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14981029/

相关文章:

javascript - 使用 jquery 将字符串转换为 UTC 时间

php - 我应该使用两个脚本还是一个? `wordwrap()` 怎么样?

javascript - Masonry : eventie. 绑定(bind)不点击 img

javascript - select2.js 和 chosen.js 无法在下拉菜单中正确呈现

javascript - 使用 jquery 的按钮的超链接下载属性

javascript - 如何使用 CSS/JS 或 jquery 让文本随滚动在 colspan 中 float ?

javascript - 如何删除除特定属性之外的所有标签属性?

javascript - 在具有大型数据集的 HighStock 时间序列中设置附加点属性

javascript - 如何查找具有特定id的div是否存在于jQuery中?

javascript - 通过 id - #id 或 span#id 获取元素的更有效方法是什么?为什么?