Javascript jQuery append()-重复的appends
在将div之类的东西附加到html主体的场景中,我注意到jQuery足够聪明,可以防止将对象附加两次 以下面的代码为例:Javascript jQuery append()-重复的appends,javascript,jquery,css,jquery-selectors,Javascript,Jquery,Css,Jquery Selectors,在将div之类的东西附加到html主体的场景中,我注意到jQuery足够聪明,可以防止将对象附加两次 以下面的代码为例: $("body").append("<div id=\"divDialog\" title=\"Custom Dialog\">My dialog question?</div>"); $("#divDialog").dialog(); $(“body”).append(“我的对话问题?”); $(“#divDialog”).dialog(); 无
$("body").append("<div id=\"divDialog\" title=\"Custom Dialog\">My dialog question?</div>");
$("#divDialog").dialog();
$(“body”).append(“我的对话问题?”);
$(“#divDialog”).dialog();
无论我调用了多少次上述方法,divDialog都只会创建一次(从我看到的情况来看)
如果没有在紧密循环中运行,那么允许多次调用append方法有什么问题吗?这会导致任何问题吗?
我假设在一个循环中,它是要避免的…不,相邻运行它一点问题都没有。我没有数据支持我,但根据经验,我可以告诉你,这对我的表现几乎没有影响。例外情况是,如果你像在循环中一样反复使用它,但你说情况并非如此
如果两者都同样简单,那么更好的方法是将所有HTML连接起来以进行追加,并立即进行追加。我认为这一定是
$.fn.dialog()
,它正在做一些特殊的事情;试着运行$(“body”).append(“我的对话问题?”)代码>几次,你会发现每次都会创建它(选择符只会找到第一个)。顺便说一句,如果你用单引号括起所有内容,你不必转义双引号,反之亦然。@Erik Reppen:谢谢,我知道了。“我更喜欢逃跑。”克里斯·摩根:我的测试不符合你的要求。指定ID时,jQuery似乎拒绝创建多个实例。如果我只指定一个类,它会创建多个div。(我试过使用选择器和查看原始HTML)有人能确认一下吗?第一个答案似乎表明我是正确的……可能是重复的