我在我的页面中使用高图表。有点重。
当用户单击按钮时,它会动态加载高图表,当用户单击close
按钮,它删除/隐藏图表。
我想知道哪一个是更好的选择。
当用户点击时隐藏图表?它会减慢页面的其余部分(因为存在繁重的 javascript 和处理程序吗?)或者,
remove()
它,这样它使页面更轻(但是在这里,当用户再次单击按钮时,我需要再次加载图表)或者,
Use detach()
,这样在重新加载高图表时,它的工作速度会更快
比remove()
(但它不会像 jQuery 一样使页面变得更重吗
处理人员一直在场?)
我从 jQuery 文档中知道,
。消除()
.remove() 方法从 DOM 中取出元素。使用 .remove() 时
你想要删除元素本身以及里面的所有内容
它。除了元素本身之外,所有绑定事件和
与元素关联的 jQuery 数据被删除。
。分离()
.detach() 方法与 .remove() 相同,不同之处在于 .detach()
保留与删除的元素关联的所有 jQuery 数据。这
当删除的元素要重新插入到
稍后再进行 DOM。
.hide()
匹配的元素将立即隐藏,没有动画。
这大致相当于调用 .css('display', 'none')
如果你只是想时不时地隐藏/显示一个对象,那么使用 jQuery.hide()
and .show()
。这是最简单的,只要您无论如何都要保留该对象,您也可以使用.hide()
and .show()
。除非该对象消耗大量内存,否则这不应该成为问题。
.remove()
(保存并稍后将同一对象重新插入到 DOM 中时)对您来说没什么用处,因为它会破坏与该对象关联的一些数据,因此您可能无法轻松地将其重新插入页面中。
.remove()
实际上让前一个对象被垃圾收集器销毁,然后在再次需要时从头开始重新创建它是最有效的内存操作,但除非它消耗大量内存或者您有很多内存(例如数千个),这样做可能只是做更多的工作,没有任何有意义的好处。
.detach()
(同时保存并稍后将相同的对象重新插入到 DOM 中)可以工作,但它比.hide()
and .show()
而且,老实说,我相当怀疑您是否会发现这两种选择之间的差异。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)