html元素比较

时间:2010-09-20 15:52:36

标签: jquery html css

我有一个查询,我只是想知道它是否可行。如果是,那么如果您可以引导我参考样本或示例,那将是非常有用的。

所以我要做的是,对HTML(或DOM元素)进行比较。让我们来看看这个场景:

我的页面上有5行(5 <tr>或5 <div>),我进行ajax调用以获取更多数据,这次服务器返回8行(仅3行是新的,5行仍然是旧行),所以不是再次显示所有8行,我只想将这3个新行追加到已经存在的5行。

我知道一个解决方案是在我的服务器端执行,一次发送一行,但服务器端代码或多或少被冻结,所有更改只需在客户端完成。

您的意见很有价值。

3 个答案:

答案 0 :(得分:1)

如果您只能在客户端处理此问题,我建议在客户端存储数据对象(关联数组),并从中构建HTML。

答案 1 :(得分:1)

当您收到AJAX数据时,您应该尝试解析检索到的ID(或某些标识对象,如日期/时间)并将它们保存在数组中。每次获得AJAX数据时,解析ID,检查数组是否为新数据,如果是,则显示它。

IDEAL方法是将检索到的最高ID传递给ajax调用,让服务器只返回id大于该值的项。这与Facebook如何进行实时反馈非常相似。

答案 2 :(得分:0)

为什么不简单地使用JS变量来跟踪已经存在的元素?我认为其他一切都太复杂了,因为它需要一些复杂的比较。否则只需删除所有行并将它们全部放入。

所以 - 或者:

  • 在JS代码中缓存已显示的内容
  • 重绘整套行