我試圖創建類似於web手風琴的東西。JQuery next() - 僅使用類獲取下一個兄弟節點
視覺例如:
[TITLE DIV 1]
[CONTENT DIV 1]
[TITLE DIV 2]
[CONTENT DIV 2]
[TITLE DIV 3]
[CONTENT DIV 3]
我希望能夠切換(jQuery的功能切換())「內容格」通過點擊相應的「標題格」。
我試過以下,但它不起作用。
HTML:
<div class="topSeparator"></div>
<div class="titleDiv">
<h1>Title 1</h1>
</div>
<div class="bottomSeparator"></div>
<div class="contentDiv"><h2>Content 1</h2></div>
<div class="topSeparator"></div>
<div class="titleDiv">
<h1>Title 2</h1>
</div>
<div class="bottomSeparator"></div>
<div class="contentDiv"><h2>Content 2</h2></div>
JQUERY:
$('.titleDiv').click(function() {
$(this).next('.contentDiv').toggle();
});
我會形容我的函數過程,例如:
- 當你點擊一個名爲 「titleDiv」 類元素,這樣做:
1.1。選擇那個被點擊的元素;
1.1.1。用名爲「contentDiv」的類選擇該單擊元素的下一個兄弟;
1.1.1.1。使函數toggle()作用於最後一個元素(使用名爲「contentDiv」的類);
看來我錯了,或者我錯過了一些東西。
。
我包括jquery 1.8.3(正確)。
這在使用ID而不是類(我試圖避免使用它們)時有效。
我在click函數中放置了一個alert,它工作正常(問題在裏面)。
感謝安東。我仍然不明白next('。contentDiv')和nextAll('。contentDiv')之間的區別,不應該都到達元素嗎? (nextAll將全部獲得) – Edu 2013-02-15 13:33:37
下一步獲取元素後,在這種情況下是bottomSeparator。使用nextAll獲取所有元素之後,但是使用:首先獲取帶有選擇器的第一個元素(「。contentDiv」) – Anton 2013-02-15 13:34:56
不應該next('。contentDiv')選擇與提供的參數相同的第一個下一個元素(Class contentDiv )? – Edu 2013-02-15 13:39:15