【发布时间】:2011-01-02 20:09:36
【问题描述】:
是否有一些 jquery 魔法可以让我执行以下操作:
[0- 在 HTML 中定义一些元素(例如,一个 unchecked 复选框)]
1- 通过使用 .attr() 设置其属性之一来更新其 DOM 元素(例如,通过使用 .attr('checked', true) 设置其“已检查”属性)
2- 暂时从 DOM 中移除该元素
3- 将原始元素重新插入到 DOM 中,同时保留其所有属性(即,在第 1 步结束时对其进行检查——与最初在 HTML 中定义时不同)
我之所以有兴趣从 DOM 中删除这些元素(而不是隐藏它们)是因为我注意到它似乎可以很好地提高性能。我的页面具有三种不同的“状态”,在任何给定状态下,只需要三分之一的 DOM 元素总数。 [我希望将其保留为具有不同状态的单个页面,而不是将其分成三个单独的页面。]
到目前为止,我一直在通过将
的值存储在 var 中来删除和重新插入元素到 DOM$("#myElement").html()
然后删除它,但现在我注意到在将该 HTML 重新插入 DOM 后,[在第 1 步中]所做的更改已“撤消”。
有没有办法做到这一点——暂时从 DOM 中删除不需要的东西,同时保留其所有属性以供以后重新插入?
感谢您的任何见解,
拉拉
【问题讨论】:
标签: javascript jquery ajax dom