Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery append()-重复的appends_Javascript_Jquery_Css_Jquery Selectors - Fatal编程技术网

Javascript jQuery append()-重复的appends

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(); 无

在将div之类的东西附加到html主体的场景中,我注意到jQuery足够聪明,可以防止将对象附加两次

以下面的代码为例:

$("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)有人能确认一下吗?第一个答案似乎表明我是正确的……可能是重复的