我正在jQuery中编写一个可排序的列表实现(b / c臭名昭着的scroll-in-div问题,为此有什么新的解决方案吗?)。但是,我不知道如何比较jQuery包装后的元素(在mousedown / mouseup上触发)。在原型中,它始终是ele.domNode。
这就是我想要实现的目标......
<div id="cheese"></div>
<div id="burger"></div>
<script>
// Some dom nodes wrapped in jquery
var ele1 = $('#cheese');
var ele2 = $('#burger');
var ele3 = $('#burger');
// Is the dom node wrapped in ele1 (#cheese) the same as in ele2 (#burger)?
if (ele1 == ele2)
{
// Should never be true
}
// Is the dom node wrapped in ele2 (#burger) the same as in el32 (#burger)?
if (ele2 == ele3)
{
// Should always be true
}
</script>
答案 0 :(得分:65)
可以将jQuery对象视为原始DOM元素的数组。
您可以像这样比较原始DOM元素:
if(ele2[0] === ele3[0])
答案 1 :(得分:13)
比较里面的DOM元素:
if (ele1.get(0) == ele2.get(0))
答案 2 :(得分:0)
这也是解决此问题的可行方法。您可以比较id属性,因为它们在上面的示例中应该完全相同。
ele1.attr("id") == ele2.attr("id"); //returns false
ele2.attr("id") == ele3.attr("id"); //returns true