如何比较两个Jquery对象?
$('<p></p>')[0] === $('<p></p>')[0]
false
$('<p></p>') == $('<p></p>')
false
$('<p></p>').get() == $('<p></p>').get()
false
答案 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())