1

我是这个网站的一体化开发者。在该站点中,如果您单击图形上的任何节点,它会更新结果 div 的内容。我以愚蠢的方式这样做,我只是从头开始重写所有 div 内容。我确信这不是最好的方法,那么对于这种动态更新,您有什么建议?

我认为会有一种方法匹配结果(可能是他们的 id)和结果的 div 的 id,这样我就可以将所有这些片段 div 保存在具有这些 id 的数组中。然后当我需要更新时,我只是再次重写所有内容,但只是推送与结果匹配的 dom 对象。

是否也可以将 dom 对象保留在 div 中,并在需要时将它们推送到页面主体?

或者有什么其他方法可以成功吗?

4

2 回答 2

1

只需隐藏与图表中单击的节点不匹配的 div。这样,当他们单击重置时,您会显示所有 div,无需继续重新创建内容。

于 2012-05-16T18:34:53.270 回答
1

您可以将所有 div 放入文档中并最初隐藏它们。将单个节点的所有 div id 保存在数组或某种对象中。

当一个节点被点击时,将被点击的节点对应的那些div插入到目标div中,并设置为可见。

这种方法的一个问题是:即使隐藏的 div 也是 DOM 树的一部分,当您将选择的 div 插入目标 div 时,这些 div 实际上会从原始 DOM 节点移动到新节点。这样,当用户再次单击同一节点时,这些 div 不再存在。

解决此问题的一种方法是首先克隆节点并将克隆的节点移动到目标位置,或者您最好先将它们放回原处以避免悬空节点,然后再使用新的 div 更新目标。

于 2012-05-16T18:49:02.827 回答