Javascript 如果页面是其子页面,则打开父列表

Javascript 如果页面是其子页面,则打开父列表,javascript,jquery,Javascript,Jquery,如果页面属于父列表,我想保持相关列表可扩展 假设我在Vision页面上,那么默认情况下应该打开About列表,仅此列表 我尝试了几次结合 $('#expList a[href^=“/”+window.location.href+''“])。最近('li')。css('display','block')但不起作用 页面链接将类似于 第页aspx?p=1 第页aspx?p=2 第页aspx?p=3 第页aspx?p=5 根据新的更新,您必须使用window.location.pathname,它

如果页面属于父列表,我想保持相关列表可扩展

假设我在
Vision
页面上,那么默认情况下应该打开
About
列表,仅此列表

我尝试了几次结合
$('#expList a[href^=“/”+window.location.href+''“])。最近('li')。css('display','block')但不起作用

页面链接将类似于

  • 第页aspx?p=1
  • 第页aspx?p=2
  • 第页aspx?p=3
  • 第页aspx?p=5

根据新的更新,您必须使用
window.location.pathname
,它返回不带协议和域名的url路径。现在,您可以使用
window.location.pathname
获取路径并显示
ol

$(文档).ready(函数(){
var url='page.aspx?p=5';//将其更改为->window.location.pathname;
$(“#expList”).find(“ol”).hide();
$(“#expList>li”)。单击(函数(){
$(this.find(“ol”).slideToggle();
});
$('#expList a[href^=“'+url+'“]”)。最近('ol')。css('display','block');
});
。页面左栏{
宽度:200px;
背景色:#fff;
}
ol{
左边距:0px;
左侧填充:20px;
}
.手册第页{
颜色:#687074;
计数器重置:项目;
}
ol{
计数器重置:项目;
颜色:#687074;
}
欧利{
显示:块;
填充:5px0;
}
奥利亚{
文字装饰:无;
颜色:#687074;
左侧填充:10px;
}
奥利:以前{
内容:计数器(项目“.”);
反增量:项目;
字体大小:粗体;
}

点击联系人

  • 我认为
    $('#解释a[href^=“/”+window.location.href+']”)
    将始终为
    false
    即,因为您的
    a
    href
    始终以
    #
    位置开头。href
    返回
    url
    而不包含
    域名
    ,并且您需要将其
    ol
    li
    页面url与
    页面类似。aspx?p=1
    page.aspx?p=2
    page.aspx?p=3
    ,`page.aspx?p=5`使用
    window.location.pathname
    从url中获取当前路径。您当前的问题是您做得不正确,这有点像
    http://domain.com/page.aspx?p=5
    这是一个out out of
    window.location.href
    ,但您需要获取
    /page.aspx?p=5
    ,它是
    window.location.pathname的输出。
    
    $(document).ready(function(){
        $("#expList").find("ol").hide();
    
      $("#expList > li").click(function(){
        $(this).find("ol").slideToggle();
      });
    
      $('#expList a[href^="/' + window.location.href + '"]').closest('li').css('display', 'block');
    });