在其他页面上将类添加到锚链接

时间:2017-09-13 09:59:46

标签: javascript jquery

我有一个导航设置,其中包含指向特定页面上锚点的链接。

这在该特定页面上有效,但是如何从我网站上的其他页面添加该类?

<script>
jQuery(function ($) {
    $( document ).ready(function() {
        $(".sub-menu > li > a").on("click", function(){
            $("a.active").removeClass("curlink");
            $(this).addClass("curlink");
        });
    });
});
</script>

3 个答案:

答案 0 :(得分:0)

有很多想法/方法可以实现这一点,但是如果你有一个包含导航代码的单独文件,那么你可以采取一种方式, 您可以放入隐藏元素,其价值为导航菜单id标记的<a>。因此,当您登陆页面并从jquery中的隐藏字段中找到id值时,可以激活<a>导航。我的意思是你可以将活动类应用于该菜单。 告诉我,如果不清楚,我会尽量简单。

简单来说,

<input type="hidden" value="about_us" id="nav-menu">等单独的网页中添加一个隐藏元素 在你的母版页中,把jquery放到这个值中: var nav_menu = $('#nav-menu').val();所以在nav_menu中,您将about_us作为其值。

现在,在主主视图文件中,您可以编写jquery来为相关的manu添加活动类,如:$('.sub-menu > li > a').removeClass('active');$('#'+nav_menu).addClass('active');

答案 1 :(得分:0)

  1. 只需传递一个隐藏的输入元素,例如ID navigator
  2. 当您点击标识为#a1的链接时,请将此隐藏元素值设置为"a1"
  3. 使用表单
  4. 发送此元素
  5. 在接收者页面上检查此元素的值是否为$("#navigator").val();
  6. 根据此值(在此情况下为"a1")的值,使用a1
  7. ,无论您想要什么,都可以设置ID为$("#a1").css();的链接的CSS

答案 2 :(得分:0)

另一种方法是在每个超链接上添加一个GET参数并在接收方端接收并根据其值集CSS。

  • 假设有3个标识为a1,a2,a3
  • 的链接
  • cameFrom网址中添加参数href,例如href=".../*.html?cameFrom=a1"用于链接a1href=".../*.html?cameFrom=a2"用于链接a2,依此类推
  • 在接收者页面上使用此功能获取其值:

    function param(name){
       return (location.search.split(name + '=')[1] || '').split('&')[0];
    }
    
  • 使用param(cameFrom)获取结果。 Link to this function