【问题标题】:Highlight Link based on Query string using Jquery使用 Jquery 突出显示基于查询字符串的链接
【发布时间】:2011-08-08 22:22:28
【问题描述】:

我在动态 aspx 页面的侧边栏中有一个菜单。 我想根据查询字符串值高亮当前链接。

<div id="verticalmenu">
<ul>
<li><a href="services.aspx?pageid=11">Medical Transcription</a></li>
<li><a href="services.aspx?pageid=12">Business Transcription</a></li>
 <li><a href="services.aspx?pageid=13">Legal Transcription</a></li>
  <li><a href="services.aspx?pageid=14">Insurance Transcription</a></li>
  <li><a href="services.aspx?pageid=15">Data Entry & Processing</a></li>
  <li><a href="services.aspx?pageid=16">Software Development</a></li>
  <li>  <a  href="services.aspx?pageid=25">Typesetting Services</a></li>
</ul>
</div>

【问题讨论】:

    标签: jquery menu highlight


    【解决方案1】:

    使用 jQuery,它可能看起来像这样:

    $('#verticalmenu a').each(function (){
        var linktext = $(this).attr('href');
        if (linktext.search(window.location.search.substring(1)) > -1){
           $(this).addClass('current');
        }
    });
    

    使用window.location.search.substring(1) 获取url 的最后一部分,并使用javascript 字符串的search 方法检查链接的href 属性。然后为样式添加一个类名。例如,我使用了current

    它可能需要一些调整,但这是要走的路。但是,我强烈建议在服务器端执行此链接识别。这是一个我不太引以为豪的解决方法。

    【讨论】:

    • location.pathname 没有返回查询字符串
    • 我已经编辑了我的答案。你试过window.location.search.substring(1)
    • 非常感谢它的工作。是的,我可以从服务器端做到这一点,但我想学习 jquery,这就是我问的原因。
    • 如果没有查询字符串,则突出显示所有链接。怎么办
    • 好的,我明白了。我必须检查长度 - if (window.location.search.substring(1).length != 0)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多