如何比较一般的两个DOM或DOM节点? [英] How to compare two DOMs or DOM nodes in general?

查看:464
本文介绍了如何比较一般的两个DOM或DOM节点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am using var win1 = open.window(...); var win2 = open.window(...); to open 2 tabs/windows in Firefox - now I want to compare the two DOMs (document object models) for similarity. So I have got two DOMs containing a very similar page. The pages have the same HTML but executed different JavaScript files.

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

In general I check if HTML and CSS is the same:

    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节点似乎给不好的结果:

But comparing all DOM nodes seems to give bad results:

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

bodyNodes1 [123] .innerHTML isn'类型 bodyNodes2 [123] .innerHTML

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

Which methods can be used to compare DOM nodes? Do any Framework/Libraries/Scripts exist for testing pages for similarity?

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

I am very thankful for any hints. :-)

推荐答案

我认为你要找的是:

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

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

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

希望这有助。

这篇关于如何比较一般的两个DOM或DOM节点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆