2016-01-07 123 views
0

我在DOM中有一些元素,如果發生不同的事件,我需要顯示和隱藏它們。最好使用.detach(),然後再使用.append().hide(),然後使用.show()。元素有事件附加到他們,我使用jQuery .on()的事件。從單個元素到少於10個元素的元素數量變化不大。jQuery .detach()vs hide/show

哪個更好用?

另外,如果頁面加載時不需要某個元素,但是稍後需要它時應該將其創建爲隱藏或在需要時創建它?

+2

使用show/hide。 detach()會創建另一個jquery對象來存放元素html。 – DinoMyte

+0

謝謝。我的另一個問題呢? (查看我更新的問題。)@DinoMyte –

+0

隱藏一個元素。由於動態注入一個會影響性能,最終會佔用標記空間。 – DinoMyte

回答

3

jQuery的.detach().append()函數分別移除和添加元素到DOM。

.show() and .hide()只需添加CSS規則display: none

簡短的回答是,如果你是顯示/隱藏元素經常,最好使用.show().hide(),因爲這個動作更迅速地發生。

如果您需要較大的元素不經常出現,最好使用.detach().append(),因爲如果您的DOM太大,一旦達到內存限制,您的網頁可能會變慢。

+0

頁面有幾個元素不是很大。所以我可以使用'.show()'和'.hide()'對嗎?我的另一個問題呢? –

+2

@rexhin無論最初是顯示還是最初隱藏,都應用相同的邏輯。使用的小東西經常使用'.show()'和'.hide()'。大多數情況下很少使用'.append()'和'.detach()'。你選擇哪個小用品並不重要。 – jperezov