2016-01-07 93 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