找到上一个节点元素

时间:2012-02-16 04:15:31

标签: javascript jquery dom

获得这样的元素后

$('.votes > a > img').get(0)

我无法呼叫closest('img')。例如

$('.votes > a > img').get(0).closest('img')

我得到一个错误,说没有名为'最近'的方法。

但以下的工作

$('.votes > a > img').closest('img')  // removed .get(0)

有人可以解释一下这是为什么吗?

我真的不明白,特别是当我把它归为this on jsfiddle时。在jsfiddle版本中,有一个对('li.item-a').closest('ul').css('background-color', 'red');​的调用对我而言似乎与我的$('.votes > a > img').get(0).closest('img')

相同

1 个答案:

答案 0 :(得分:1)

get替换为eq,请参阅更新的jsfiddle:

基本上,eq返回一个可以重用的jQuery对象,但get为你提供了一个DOM元素,它不是jQuery,不允许你调用closest或其他jQuery方法就可以了。有关geteq差异的更多答案,请参阅此SOq: