Javascript jQuery手风琴是否通过url激活?

Javascript jQuery手风琴是否通过url激活?,javascript,jquery-ui,accordion,Javascript,Jquery Ui,Accordion,标题脚本部分 $(document).ready(function(){ var show_link = '/hr/resitration'; // That is current url. var accordion = $("#accordion"); active = ???? // How to found activ url??? accordion.accordion({ header: "h3", active: ac

标题脚本部分

$(document).ready(function(){
    var show_link = '/hr/resitration'; // That is current url.
    var accordion = $("#accordion");
    active = ???? // How to found activ url???
    accordion.accordion({
        header: "h3",
        active: active,
        autoHeight: false
    });
});
在HTML部分

<div id="accordion">
    <h3><a href="#">Dashboard</a></h3>
    <div>
        <ul>
            <li><a href="/dashboard/my" >My works</a></li>
            <li><a href="/dashboard/send" >Send works</a></li>
        </ul>
    </div>
    <h3><a href="#">HR</a></h3>
    <div>
        <ul>
            <li><a href="/hr/resitration?add=true" >Add Staff</a></li>
            <li><a href="/hr/resitration" >Staff list</a></li>
            <li>Config
                <ul>
                <li><a href="/hr/schools" >Schools</a></li>
                <li><a href="/hr/role" >Roles</a></li>
                </ul>
            </li>
        </ul>
    </div>
</div>

  • 配置

我想这会让你接近:

active = accordion.find("a[href="+show_link+"]").parents("h3");

我想这会让你接近:

active = accordion.find("a[href="+show_link+"]").parents("h3");

使用jQueryUI1.12,您需要提供
的索引,该索引与包含手风琴菜单中内容的
分开。如果您提供
的索引,它将无法按预期工作

为此,首先根据
window.location.href
window.location.pathname
查找最近的
。此匹配取决于锚定标记的URL和您所在页面的URL。我们首先匹配锚定标记,然后到达最近的
,并通过以下方式将一个兄弟遍历回

$( "#accordion" ).find("a[href=\""+window.location.pathname+"\"]").closest("div").prev())
然后选择手风琴菜单中的所有H3:

$( "#accordion h3" )
我们可以通过以下方式将
组合成一个命令,从而获得所有
组中
的索引:

var active = $("#accordion h3").index($( "#accordion" ).find("a[href=\""+window.location.pathname+"\"]").closest("div").prev())
然后,您可以在初始化手风琴时使用此活动索引,如下所示:

accordion.accordion({
    header: "h3",
    active: active,
    autoHeight: false
});

使用jQueryUI1.12,您需要提供
的索引,该索引与包含手风琴菜单中内容的
分开。如果您提供
的索引,它将无法按预期工作

为此,首先根据
window.location.href
window.location.pathname
查找最近的
。此匹配取决于锚定标记的URL和您所在页面的URL。我们首先匹配锚定标记,然后到达最近的
,并通过以下方式将一个兄弟遍历回

$( "#accordion" ).find("a[href=\""+window.location.pathname+"\"]").closest("div").prev())
然后选择手风琴菜单中的所有H3:

$( "#accordion h3" )
我们可以通过以下方式将
组合成一个命令,从而获得所有
组中
的索引:

var active = $("#accordion h3").index($( "#accordion" ).find("a[href=\""+window.location.pathname+"\"]").closest("div").prev())
然后,您可以在初始化手风琴时使用此活动索引,如下所示:

accordion.accordion({
    header: "h3",
    active: active,
    autoHeight: false
});

active=accordion.find(“a[href=“+show_link+”]”)。parents(“div”).prev();//这对我来说很有用。谢谢。我必须设置
collapsable:true
navigation:true
,然后
active=accordion.find(“a[href=“+show_link+”)”)。parents(“div”).prev()
对我也很有效。@ewernli,我认为
.prev()
是这里的诀窍,因为您不能选择
div
。您不需要获取该
h3
的索引吗?active=accordion.find(“a[href=“+show_link+”]”)。parents(“div”).prev();//这对我来说很有用。谢谢。我必须设置
collapsable:true
navigation:true
,然后
active=accordion.find(“a[href=“+show_link+”)”)。parents(“div”).prev()
对我也很有效。@ewernli,我认为
.prev()
是这里的诀窍,因为您不能选择
div
。您不需要获取该
h3
的索引吗?