jquery选择当前节点的兄弟节点

时间:2010-05-13 00:45:39

标签: jquery jquery-selectors

如何选择当前节点的兄弟节点? 这是片段:

<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)访问当前对象,但在这种情况下我不知道如何。

5 个答案:

答案 0 :(得分: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标记中您还要选择哪一个。

答案 1 :(得分:2)

请务必不要在引号中添加this

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

jQuery有很多很棒的遍历功能。

文档:http://api.jquery.com/category/traversing/

答案 2 :(得分:0)

答案 3 :(得分:0)

您是否尝试切换#main div?如果是这样,.parent()不会给你父div?

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

我认为你必须使用类似的东西:

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

答案 4 :(得分:0)

您可以重新调整选择范围:

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