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
的索引吗?