我在DOM中有一些元素,如果发生不同的事件,我需要显示和隐藏它们。最好使用.detach()
,然后再使用.append()
或.hide()
,然后使用.show()
。元素有事件附加到他们,我使用jQuery .on()
的事件。从单个元素到少于10个元素的元素数量变化不大。jQuery .detach()vs hide/show
哪个更好用?
另外,如果页面加载时不需要某个元素,但是稍后需要它时应该将其创建为隐藏或在需要时创建它?
我在DOM中有一些元素,如果发生不同的事件,我需要显示和隐藏它们。最好使用.detach()
,然后再使用.append()
或.hide()
,然后使用.show()
。元素有事件附加到他们,我使用jQuery .on()
的事件。从单个元素到少于10个元素的元素数量变化不大。jQuery .detach()vs hide/show
哪个更好用?
另外,如果页面加载时不需要某个元素,但是稍后需要它时应该将其创建为隐藏或在需要时创建它?
jQuery的.detach()
和.append()
函数分别移除和添加元素到DOM。
.show()
and .hide()
只需添加CSS规则display: none
。
简短的回答是,如果你是显示/隐藏元素经常,最好使用.show()
和.hide()
,因为这个动作更迅速地发生。
如果您需要较大的元素不经常出现,最好使用.detach()
和.append()
,因为如果您的DOM太大,一旦达到内存限制,您的网页可能会变慢。
页面有几个元素不是很大。所以我可以使用'.show()'和'.hide()'对吗?我的另一个问题呢? –
@rexhin无论最初是显示还是最初隐藏,都应用相同的逻辑。使用的小东西经常使用'.show()'和'.hide()'。大多数情况下很少使用'.append()'和'.detach()'。你选择哪个小用品并不重要。 – jperezov
使用show/hide。 detach()会创建另一个jquery对象来存放元素html。 – DinoMyte
谢谢。我的另一个问题呢? (查看我更新的问题。)@DinoMyte –
隐藏一个元素。由于动态注入一个会影响性能,最终会占用标记空间。 – DinoMyte