【发布时间】:2012-08-05 19:43:13
【问题描述】:
我昨天遇到了一个分配给变量的 jquery-selector 问题,这让我发疯了。
这是一个带有测试用例的 jsfiddle:
- 将 .elem 分配给我的 obj var
- 将两个长度记录到控制台。结果 => 4
- 从 DOM 中移除 #3
- 将 obj 记录到控制台 => 删除的 #3 仍然存在,长度仍然是 4。 我发现 jquery 查询是快照的?到变量,不能?不会?更新
- 将 .elem 记录到控制台.. 是的 Result => 3 并且 #3 消失了
- 现在我将 .elem 更新为 300 的新宽度
- logging obj & obj.width 给了我 300.. 所以快照已经更新了?有趣的是 4 个 div 中有 3 个有新的宽度,但删除的 #3 没有...
另一个测试:将 li 元素添加到 domtree 并记录 obj 和 .elem。 .elem 确实有新的 li 而 obj 没有,因为它仍然是旧快照
有没有办法用新内容更新这个 obj? 我不想创建一个新的 obj,因为在我的应用程序中,该对象中保存了很多信息,我不想破坏...
【问题讨论】:
标签: javascript jquery variables dom jquery-selectors