2010-05-13 69 views
2

如何選擇當前節點的同級節點? 下面是摘錄:jquery選擇當前節點的同級節點

<div id="main"> 
    <a class="test" href="test.html">Hello</a> 
    <div>Some text</div> 
</div> 

//script 
$(".test").click(function() { $("this:parent > div").toggle(); }); 
or 
$(".test").click(function() { $("this ~ div").toggle(); }); 

這些作品都沒有。我知道我可以使用$(this)訪問當前對象,但在這種情況下,我不知道如何。

+0

當你把'this'在引號中,它成爲選擇器的一部分,就像你正在尋找一個帶有「this」作爲tagName的元素一樣,如''。 – user113716 2010-05-13 01:03:45

+0

我對引語感到困惑!感謝您的解釋。 – priyank 2010-05-13 01:15:23

回答

5

這裏有幾個選項:

$(".test").click(function() { 
    $(this).next('div').toggle(); 
}); 

$(".test").click(function() { 
    $(this).siblings('div').toggle(); 
}); 

$(".test").click(function() { 
    $(this).closest('div#main').find('div').toggle(); 
}); 

只是取決於還有什麼是在哪一個你希望你的HTML標記選擇。

0

你想切換#main div嗎?如果是這樣,.parent()會不會給你父母的div?

http://api.jquery.com/parent/

我會認爲你必須使用類似:

$(".test").click(function() { $(this).parent("div").toggle(); }); 
+0

他的問題似乎很清楚,他想要兄弟姐妹,而不是父母。 – user113716 2010-05-13 00:57:35

0

您可以重新範圍的選擇:

$(".test").click(function() { $("~ div", this).toggle(); });