【发布时间】:2010-12-07 09:59:47
【问题描述】:
在我将类似 div 的内容附加到 html 正文的场景中,我注意到 jQuery 足够聪明,可以防止将对象附加两次。
所以例如下面的代码:
$("body").append("<div id=\"divDialog\" title=\"Custom Dialog\">My dialog question?</div>");
$("#divDialog").dialog();
无论我调用多少次上面的方法divDialog都只会被创建一次(据我所见)。
如果您没有在紧密循环中运行,那么允许多次调用 append 方法有什么问题吗?这会导致任何问题吗?
我假设在一个循环中,这将是要避免的事情......
【问题讨论】:
-
我想一定是
$.fn.dialog()在做一些特别的事情;尝试运行$("body").append("<div id=\"divDialog\" title=\"Custom Dialog\">My dialog question?</div>");几次,你会发现它每次都被创建(#divDialog选择器只会找到第一个)。 -
顺便说一句 - 如果将所有内容都用单引号括起来,则不必转义双引号,反之亦然。
-
@Erik Reppen:谢谢我知道。我更喜欢逃避。
-
@Chris Morgan:我的测试不同意你的看法。当指定一个 ID 时,jQuery 似乎拒绝创建多个实例。如果我只指定一个类,它会创建多个 div。 (我已经尝试过使用选择器和查看原始 HTML)有人可以确认一下吗?第一个答案似乎表明我是正确的......
标签: javascript jquery css jquery-selectors