使用jQuery单击锚点时切换最近的内容

时间:2013-07-25 15:37:57

标签: javascript jquery css

我有这样的内容结构:

<a href="#" class="toggle_button">Click me.</a>
<p class="hidden_content">This content is toggleable.</p>

<a href="#" class="toggle_button">Click me.</a>
<p class="hidden_content">This is a different section.</p>

<a href="#" class="toggle_button">Click me.</a>
<p class="hidden_content">This section is also different.</p>

我已经发现如何使用一个部分来完成这项工作,但我怎样才能使它在单击toggle_button时只打开最近的hidden_​​content类。

5 个答案:

答案 0 :(得分:2)

$('a.toggle_button').click(function() {
    $(this).next('p.hidden_content').toggle();
}

http://api.jquery.com/next/

答案 1 :(得分:1)

只需尝试

$("a").click( function(){
   $(this).next('p').toggle();   
});

Working Demo

答案 2 :(得分:1)

使用JavaScript很容易,但您也可以使用:target selector -

保持纯CSS
<a href="#hiddenContent1" class="toggle_button">Click me.</a>
<p id="hiddenContent1" class="hidden_content">This content is toggleable.</p>

<style>
 .hidden_content{
    display:none;
 }
 .hidden_content:target{
    display:block;
 }
</style>

Here's a Fiddle

答案 3 :(得分:0)

这将切换以下div,并停止页面返回顶部:

$('a.toggle_button').click(function(e) {
    e.preventDefault();
    $(this).next('p.hidden_content').toggle();
}

答案 4 :(得分:-1)

使用jQuery .next() selector

$(".toggle_button").on("click", function () {
    $(this).next(".hidden_content").toggle();
});