【问题标题】:find previous node element查找前一个节点元素
【发布时间】:2012-03-07 12:11:40
【问题描述】:

得到这样的元素后

$('.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') 相同

【问题讨论】:

    标签: javascript jquery dom


    【解决方案1】:

    get替换为eq,查看更新后的jsfiddle:

    基本上,eq 返回一个您可以重用的 jQuery 对象,但 get 给您一个 DOM 元素,它不是 jQuery,并且不允许您在其上调用 closest 或其他 jQuery 方法。请参阅此 SOq,您可以在其中获得有关 geteq 差异的更多答案:

    【讨论】:

    • @Anurag 谢谢,刚刚做了 :) 或者更正确的是,找到了一个可以为我做这件事的 SOq... :)
    • @icyrock.com 非常感谢。我一直在努力解决这个问题,但你真的为我解决了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2011-10-24
    • 2015-06-02
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    相关资源
    最近更新 更多