2013-04-13 23 views
0

在我的網站,我克隆當一個div的內容加載頁面,然後我檢查的內容是否已經改變。jQuery的克隆 - 檢查平等

originalStepOrder = $('#org').clone(); 
console.log(originalStepOrder[0] == $('#org')[0]); 

我希望,當我還沒有做出div的內容進行任何更改代碼的最後一行將返回true,但它返回false。

我也試過

console.log(originalStepOrder.is($('#org')); 

也返回false。

如何檢查兩個div是否有相同的內容?

+2

元素基本上是DOM接口對象,當你比較對象的相等性,它只會返回true時,當兩個引用引用同一個對象。這取決於你認爲「相同的內容」 - 只是文本?屬性?屬性和屬性?爲Expando的屬性? –

+0

嘿,謝謝你的迴應。我最終發現,比較兩個元素的HTML工作! – scientiffic

回答

2

哎呦,發佈太快了 - 我能夠找出答案。這是什麼結束了我的工作:

$('#org').html()==originalStepOrder.html() 
+0

是的,'.html()'返回元素的'innerHTML',它包含所有後代元素的可序列化屬性..一些屬性不可序列化,例如'value',參見[demo](http://jsfiddle.net/2c2dB/)。更多關於這[這裏](http://stackoverflow.com/questions/11778123/why-arent-some-technically-serializable-input-properties-serializable)。但是,是的,根據您的使用情況,比較'innerHTML'就足夠了。 –