获取下一个元素';JQuery中的s attibute

获取下一个元素';JQuery中的s attibute,jquery,next,Jquery,Next,我需要在悬停一系列链接时获取下一个链接的href值。我有这个: <div id="foo"> <ul> <li><a href="#tabs-1">Nunc tincidunt</a></li> <li><a href="#tabs-2">Proin dolor</a></li> <li><a href="#ta

我需要在悬停一系列链接时获取下一个链接的href值。我有这个:

<div id="foo">
    <ul>
        <li><a href="#tabs-1">Nunc tincidunt</a></li>
        <li><a href="#tabs-2">Proin dolor</a></li>
    <li><a href="#tabs-3">Aenean lacinia</a></li>
</ul>
</div>

$( "#foo a" ).hover(function() {
    var href = $(this).next().attr('href');
    console.log(href);
});

$(“#foo a”).hover(函数(){ var href=$(this.next().attr('href'); console.log(href); });
对我来说似乎很好,但我在控制台中得到“未定义”

我不熟悉JQuery,但不熟悉JS。有什么想法吗

TIA

该方法仅适用于直接同级

您还没有提供HTML,因此我猜您需要使用该方法或该方法或其他方法遍历到一个公共祖先,请使用
.next()
遍历到下一个相邻的祖先,然后使用该方法获取嵌套的

该方法仅适用于直接同级

您还没有提供HTML,所以我猜您需要使用该方法或该方法或其他方法遍历到一个公共祖先,使用
.next()
遍历到下一个相邻祖先,然后使用该方法获得嵌套的

怎么样

   $('#foo a').hover(function () {
        var href = $(this).closest('li').next().find('a').attr('href');
    });
怎么样

   $('#foo a').hover(function () {
        var href = $(this).closest('li').next().find('a').attr('href');
    });

你确定下一个元素是
a
标记吗?我来自YUI3,初始选择器将返回节点列表。我想这是不同的。正在尝试。@用户:
$(“#fooa”)
返回一个具有
.length
属性的对象,以及由数字索引引用的匹配元素。但是在分配了
.hover()
处理程序之后,该集合将被丢弃。在处理程序中,
这个
只是对接收事件的单个元素的引用。可以缓存初始选择,比如在
foo_a
中,然后执行
var idx=foo_a.索引(此);var href=foo_a.eq(++idx.attr('href')
,但大多数人更喜欢遍历DOM以访问下一个元素。你确定下一个元素是
a
标记吗?我来自YUI3,初始选择器将返回节点列表。我想这是不同的。正在尝试。@用户:
$(“#fooa”)
返回一个具有
.length
属性的对象,以及由数字索引引用的匹配元素。但是在分配了
.hover()
处理程序之后,该集合将被丢弃。在处理程序中,
这个
只是对接收事件的单个元素的引用。可以缓存初始选择,比如在
foo_a
中,然后执行
var idx=foo_a.索引(此);var href=foo_a.eq(++idx.attr('href'),但大多数人更喜欢遍历DOM以访问下一个元素。