2010-12-07 94 views
0

在一个场景中,我将一些div附加到html body,我注意到jQuery足够聪明,可以防止追加对象两次。jQuery append() - 重复的附加

因此,例如采取以下代码:

$("body").append("<div id=\"divDialog\" title=\"Custom Dialog\">My dialog question?</div>"); 
$("#divDialog").dialog(); 

无论多少次,我调用上面的方法divDialog只会创建一次(从我所看到的)。

如果你没有在紧密的循环中运行,允许多次调用append方法有什么问题吗?这会导致任何问题吗?

我假设在一个循环将是某种避免...

+2

我认为它必须是`$ .fn.dialog()`这是做特别的事情;试着运行`$(“body”)。append(“

My dialog question?
”);`几次,你会发现它每次都被创建(`#divDialog`选择器只能找到第一个)。 – 2010-12-07 02:07:15

回答

1

没有,没有什么错都与相邻运行它。我没有数据支持我,但从经验来看,我可以告诉你,对性能影响很小。如果你像循环中一遍又一遍地使用它,例外情况是这样,但你说那不是这种情况。

如果两者都同样容易,更好的方法是连接所有的HTML来追加并一次执行。