8

var win1 = open.window(...); var win2 = open.window(...);用来在 Firefox 中打开 2 个选项卡/窗口 - 现在我想比较两个 DOM(文档对象模型)的相似性。所以我有两个 DOM 包含一个非常相似的页面。这些页面具有相同的 HTML,但执行不同的 JavaScript 文件。

一般来说,我检查 HTML 和 CSS 是否相同:

    var html1 = win1.document.body.innerHTML;
var html2 = win2.document.body.innerHTML;
if (html1 == html2) { ... }
var css1 = win1.document.body.style.cssText
var css2 = win2.document.body.style.cssText
if (css1 == css2) { ... }

但是比较所有 DOM 节点似乎会给出不好的结果:

var bodyNodes1 = win1.document.body.getElementsByTagName('*');
var bodyNodes2 = win2.document.body.getElementsByTagName('*');

bodyNodes1[123].innerHTML没有必要相似bodyNodes2[123].innerHTML

可以使用哪些方法来比较 DOM 节点?是否存在用于测试页面相似性的框架/库/脚本?

我非常感谢任何提示。:-)

4

1 回答 1

9

我认为您正在寻找的是:

isEqualNode:http ://help.dottoro.com/ljlpvjmd.php isSameNode: http
: //help.dottoro.com/ljqqqfft.php

希望这可以帮助。

于 2011-02-15T18:25:18.863 回答