如何比較兩個jquery對象?jquery對象比較問題
$('<p></p>')[0] === $('<p></p>')[0]
false
$('<p></p>') == $('<p></p>')
false
$('<p></p>').get() == $('<p></p>').get()
false
如何比較兩個jquery對象?jquery對象比較問題
$('<p></p>')[0] === $('<p></p>')[0]
false
$('<p></p>') == $('<p></p>')
false
$('<p></p>').get() == $('<p></p>').get()
false
下返回true
$('<p></p>').html() == $('<p></p>').html();
是你需要什麼?
編輯:這個老jQuery組^ discussion建議比較純JavaScript中的子節點,因爲每個jQuery對象都是DOM對象的引用數組。此功能也是this SO question上的公認答案。
^嘗試新的jQuery論壇,但它沒有正確導入討論。
我發現一個愚蠢的解決方案...任何人都變得更好?
$.md5($('<p></p>').get()[0].toString()) ==$.md5($('<p></p>').get()[0].toString())
爲什麼'md5()'?如果md5散列值相等,那麼兩個'.toString()'值(可能)也是如此。 – jensgram 2011-03-25 09:08:05
$('<p>') // it creates a new dom element.
//Equivalent to document.createElement('p')
所以兩個
$('<p></p>')[0] and $('<p></p>')[0]
實際上兩個不同的DOM元素。
$('<p></p>')[0].outerHTML === $('<p></p>')[0].outerHTML; // true
$('<p>hi</p>')[0].outerHTML === $('<p></p>')[0].outerHTML; // false
嘗試在Firefox中... – 2011-03-25 07:27:58
不,它沒有什麼回報,這是的innerHTML ... – wizztjh 2011-03-25 06:57:49
,但足夠接近,你得給我一些想法... – wizztjh 2011-03-25 06:58:24
啊是的,對不起,你要比較的對象。他們將是不同的對象。 – andyb 2011-03-25 07:05:45