2010-12-07 332 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來追加並一次執行。