切换单击任何元素

时间:2008-12-20 21:04:57

标签: javascript jquery toggle

我正在使用带有jQuery的toggle(),我的页面上有一个侧边栏,每个标题都是

<h2 class="sidebar-header">

我的代码的一部分将如下所示:

    <div class="sidebar-section">   
        <h2 class="sidebar-header">SUBSCRIBE</h2>
        <p class="sidebar">Make sure you subscribe to stay in touch with the latest articles and tutorials. Click on one of the images below:</p>
        <div class="rss-icons">
            <a href="http://fusion.google.com/add?feedurl=http://feeds.feedburner.com/ryancoughlin"><img src="http://gmodules.com/ig/images/plus_google.gif" width="62" height="17" alt="Add to Google Reader or Homepage" class="feed-image"/></a> 
            <a href="http://add.my.yahoo.com/rss?url=http://feeds.feedburner.com/ryancoughlin" title="Web/Graphic Design/Development by Ryan Coughlin"><img src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo3.gif" alt="Add feed to My Yahoo" width="62" height="17" class="feed-image" /></a>
            <a href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http://feeds.feedburner.com/ryancoughlin" title="Web/Graphic Design/Development by Ryan Coughlin"><img src="http://www.newsgator.com/images/ngsub1.gif" alt="Subscribe in NewsGator Online" class="feed-image" height="17" /></a>
        </div>
        <hr />
        <p class="sidebar feed">Don't have those? Grab the <a href="http://feeds.feedburner.com/ryancoughlin" target="_blank" title="Subscribe to this feed">RSS</a> url.</p>
        <p class="sidebar delicious">Make sure you add me to <a href="http://del.icio.us/post?url=http://www.ryancoughlin.com&amp;title=Ryan Coughlin - Web/Graphic Design and Development" target="_blank" title="Add to delicious!">delicious!</a> </p>
    </div>

它们都包含在那些DIV元素中。我试图让它为你点击标题,它会缩小内容。我知道toggle可以做到这一点,但如果我为每个“sidebar-header”创建它,你将点击页面上的任何一个元素,它将隐藏所有元素,我该怎么做?

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

假设您有以下代码:

<div class="topdiv">
    <h2 class="header">Header 1</h2>
    <div class="somecontent">
        This is the content
    </div>
</div>

<div class="topdiv">
    <h2 class="header">Header 2</h2>
    <div class="somecontent">
        This is the content
    </div>
</div>

现在,假设当您想要点击标题时,会显示/隐藏该标题的内容:

$(".header").click(function () {
    $(this).parent(".topdiv:first").find(".somecontent").toggle();
});

这样,只会切换特定标题的内容,而不是其余内容。

现在,您可以分析我为您编写的代码,并将其应用于您自己的上下文中。

答案 1 :(得分:1)

试试这个: nextAll

    $(".sidebar-header").click(function() {
        $(this).nextAll().toggle();
    });