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/