从所有类中删除类<;a>-使用jQuery在特定div中添加标记

从所有类中删除类<;a>-使用jQuery在特定div中添加标记,jquery,accordion,classname,Jquery,Accordion,Classname,我正在使用jQuery,并成功地将一个简单的手风琴粘贴在一起,同时只能打开手风琴的一个部分。手风琴的每个部分都有一个“+”符号来表示这一点。单击节并展开内容时,“+”图标将切换为“-”在我需要在同一页上放两个(或更多)手风琴之前,这些都很好用。按照现在的工作方式,脚本将所有扩展的div“-”图标从“-”切换到“+”。我只希望+/-图标与最近单击的链接在同一个div中切换,就像现在一样,单击链接时,扩展部分的所有图标都会更改 以下是使用的脚本: $(document).ready(function

我正在使用jQuery,并成功地将一个简单的手风琴粘贴在一起,同时只能打开手风琴的一个部分。手风琴的每个部分都有一个“+”符号来表示这一点。单击节并展开内容时,“+”图标将切换为“-”在我需要在同一页上放两个(或更多)手风琴之前,这些都很好用。按照现在的工作方式,脚本将所有扩展的div“-”图标从“-”切换到“+”。我只希望+/-图标与最近单击的链接在同一个div中切换,就像现在一样,单击链接时,扩展部分的所有图标都会更改

以下是使用的脚本:

$(document).ready(function() {

    $(".accordion dd").hide();

    $(".accordion dt a").click(function(){
        $(this).parent().next().siblings("dd:visible").slideUp("slow");
        $(this).parent().next().slideToggle("slow");
        if ($(this).is("expanded")) {
            $(this).toggleClass("expanded");
            } else {
            $(".accordion dt a").removeClass("expanded");
            $(this).addClass("expanded");
        }
        return false;
    });
});
这里是一些html。下面的html是一个实例。如果页面上有多个列表,下面的html结构将被复制

<div style="position:relative;" class="regularBorder roundedCorner">
<h2>header</h2>
<dl class="accordion">
    <dt class="roundedCorner navbarBG first noSideBorder">
        <a href="/">Lorem Ipsum 1</a></dt>
    <dd>
        <ul class="accordion noSideBorder">
            <li><a href="#">Lorem ipsum dolor</a></li>
            <li><a href="#">Lorem ipsum dolor</a></li>
        </ul>
    </dd>
    <dt class="roundedCorner navbarBG noSideBorder">
        <a href="/">Lorem Ipsum 2</a></dt>
    <dd>
        <ul class="accordion noSideBorder">
            <li><a href="#">Lorem ipsum dolor</a></li>
            <li><a href="#">Lorem ipsum dolor</a></li>
        </ul>
    </dd>
    <dt class="roundedCorner navbarBG noSideBorder">
        <a href="/">Lorem Ipsum 3</a></dt>
    <dd>
        <ul class="accordion noSideBorder">
            <li><a href="#">Lorem ipsum dolor</a></li>
            <li><a href="#">Lorem ipsum dolor</a></li>
        </ul>
    </dd>
</dl>
</div>

标题
因此,一个简单的解决方案,使这项工作将不胜感激

这不应该:

$(".accordion dt a").removeClass("expanded");
是这样的:

$(this).parents('.accordion').find('dt a').removeClass("expanded");

您不能使用唯一ID并将其作为脚本的参数提供吗?
var selector = '.accordion dt a';
$(selector ).each(function()
{
        $(this).removeClass("expanded");
});