标题脚本部分。
$(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>
答案 0 :(得分:4)
我认为这会让你接近:
active = accordion.find("a[href="+show_link+"]").parents("h3");
答案 1 :(得分:0)
var links = accordion.find("a");
active = links.find("[href=/hr/resitration]").index();
答案 2 :(得分:0)
使用jQuery UI 1.12,您需要提供<h3>
的索引,该索引与包含手风琴菜单中内容的<div>
分开。如果提供<div>
的索引,它将无法按预期工作。
要实现此目的,请首先根据<h3>
或window.location.href
找到最接近的window.location.pathname
。这种匹配取决于锚标记的URL和您所在页面的URL。我们首先匹配锚标签,然后转到最接近的<div>
并通过以下方式遍历一个同级回到<h3>
:
$( "#accordion" ).find("a[href=\""+window.location.pathname+"\"]").closest("div").prev())
然后在手风琴菜单中选择所有H3:
$( "#accordion h3" )
我们可以通过以下方法将其合并为一个命令来获取所有<h3>
的组中<h3>
的索引:
var active = $("#accordion h3").index($( "#accordion" ).find("a[href=\""+window.location.pathname+"\"]").closest("div").prev())
然后,您可以在初始化手风琴时使用此活动索引,如下所示:
accordion.accordion({
header: "h3",
active: active,
autoHeight: false
});