我正在使用 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节点? 是否存在用于测试页面相似性的框架/库/脚本?
我非常感谢任何提示。 :-)
最佳答案
我认为您正在寻找的是:
isEqualNode : http://help.dottoro.com/ljlpvjmd.php
isSameNode:http://help.dottoro.com/ljqqqfft.php
希望这对您有所帮助。
关于javascript - 通常如何比较两个 DOM 或 DOM 节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4441135/