Jquery对象比较问题

时间:2011-03-25 06:52:28

标签: javascript jquery

如何比较两个Jquery对象?

$('<p></p>')[0] === $('<p></p>')[0]
false

$('<p></p>') == $('<p></p>')
false

$('<p></p>').get() == $('<p></p>').get()
false

4 个答案:

答案 0 :(得分:1)

以下内容会返回true

$('<p></p>').html() == $('<p></p>').html();

这就是你需要的吗?

编辑:旧的jQuery组^ discussion建议在普通JavaScript中比较子节点,因为每个jQuery对象都是对DOM对象的引用数组。此功能也是this SO question上接受的答案。

^尝试了新的jQuery论坛,但没有正确导入讨论。

答案 1 :(得分:1)

$('<p>') // it creates a new dom element. 
         //Equivalent to document.createElement('p')

所以这两个

$('<p></p>')[0] and $('<p></p>')[0]

实际上是两个不同的DOM元素。

答案 2 :(得分:1)

$('<p></p>')[0].outerHTML === $('<p></p>')[0].outerHTML;   // true
$('<p>hi</p>')[0].outerHTML === $('<p></p>')[0].outerHTML; // false

答案 3 :(得分:0)

我发现了一个愚蠢的解决方案......任何人都变得更好了?

$.md5($('<p></p>').get()[0].toString()) ==$.md5($('<p></p>').get()[0].toString())