jquery对象比较问题
如何比较两个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