2011-06-12 52 views
1

在以下情況下,我想在單擊div.first > a時向後續的div.second添加一個「高亮」類。jQuery - 使用next()

HTML:

<li> 
    <div class="first"> 
     <a href="#">link</a> 
    </div> 
    <div class="second"> 
     text to be highlighted 
    </div> 
</li> 
<!--(repeats)--> 

JS:

$("div.first > a").click(function() { 
    $(this).next("div.second").addClass("highlight"); 
}); 

我知道它錯了,但我不知道該怎麼做是正確的。請幫助。

回答

1

.next()找到當前元素的下一個兄弟。你目前的元素是<a>,在這種情況下,它沒有兄弟姐妹(可憐的東西)。使用parent()檢索包含<div>,然後使用next()找到要突出顯示的<div>

$("div.first > a").click(function() { 
    $(this).parent().next("div.second").addClass("highlight"); 
}); 
+0

非常感謝!我試圖通過使用父母(「div.first」)來獲得父()工作,並沒有這樣做。但你的作品魅力! – Ben 2011-06-12 18:54:46

0
$("div.first > a").click(function() { 
    $(this).parent().next("div.second").addClass("highlight"); 
}); 

你需要一個向上的a的父母,然後把它的旁邊div