我需要在懸停一系列鏈接時獲取下一個鏈接的href值。我有這個:在JQuery中獲取下一個元素的屬性
<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);
});
看起來不錯,但我在我的控制檯中'undefined'。
我是新來的JQuery,但不是JS。有任何想法嗎?
TIA
你確定下一個元素是'了'標籤? – mowwwalker
我來自YUI3,其中初始選擇器將返回一個節點列表。我想這是不同的。現在嘗試。 – user903277
@user:'$(「#foo a」)'返回一個帶'.length'屬性的對象,以及由數字索引引用的匹配元素。但在分配'.hover()'處理程序後,該集合將被丟棄。在處理程序內部,「this」僅僅是對接收事件的單個元素的引用。可以緩存最初的選擇,例如在'foo_a'中,然後執行'var idx = foo_a.index(this); var href = foo_a.eq(++ idx).attr('href');',但大多數人喜歡遍歷DOM來到下一個元素。 – user113716