一般来说,如何比较两个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
bodyNodes1[123].innerHTML
isn't neccessary similar 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
希望这有帮助。