如何比较两个DOM或DOM节点一般?

Cla*_*dio 7 javascript dom compare nodes

我正在使用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) { ... }
Run Code Online (Sandbox Code Playgroud)

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

var bodyNodes1 = win1.document.body.getElementsByTagName('*');
var bodyNodes2 = win2.document.body.getElementsByTagName('*');
Run Code Online (Sandbox Code Playgroud)

bodyNodes1[123].innerHTML 不是必要的类似 bodyNodes2[123].innerHTML

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

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

小智 7

我认为你要找的是:

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

希望这可以帮助.

  • `isSameNode`已弃用.请参阅https://developer.mozilla.org/en-US/docs/DOM/Node.isSameNode以及http://stackoverflow.com/questions/3649321/is-there-a-way-to-check-if-两DOM元素-是相等 (3认同)