6
我使用var win1 = open.window(...); var win2 = open.window(...);
在Firefox中打開2個選項卡/窗口 - 現在我想比較兩個DOM(文檔對象模型)的相似性。 所以我有兩個包含非常類似頁面的DOM。這些頁面具有相同的HTML,但執行了不同的JavaScript文件。如何比較兩個DOM或DOM節點?
總的來說,我檢查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節點? 是否存在用於測試相似度頁面的任何框架/庫/腳本?
我非常感謝任何提示。 :-)
'isSameNode'已棄用。請參閱https://developer.mozilla.org/en-US/docs/DOM/Node.isSameNode以及http://stackoverflow.com/questions/3649321/is-there-a-way-to-check-if-if-兩個dom元素是相等的 – 2012-11-07 12:23:04
isEqualNode在IE上不起作用。我正在尋找一種方式。 – 2012-12-27 00:33:58