使用jquery选择特定锚链接

时间:2015-07-15 12:27:16

标签: javascript jquery anchor

我有这样的菜单结构:

<ul class="menu">
    <li class="parent">
        <a class="menu-link" href="http://url.com/#Id">Id</a>
    </li>
    <li class="parent">
        <a class="menu-link" href="http://url.com/#Id">Id</a>
    </li>
</ul>

和英文版本的菜单如下:

<ul class="menu">
    <li class="parent">
        <a class="menu-link" href="http://url.com/en/#Id">Id</a>
    </li>
    <li class="parent">
        <a class="menu-link" href="http://url.com/en/#Id">Id</a>
    </li>
</ul>

使用scrollspy,我正在检测当前页面的哪个部分可见。所以我可以获得锚链接的Id部分。现在我该如何选择特定的锚链接?

我试过了:

$('.menu').find(":contains('#" + this.id"')" ).addClass('active');

但这不起作用(否则我不会在这里!)。

1 个答案:

答案 0 :(得分:0)

如何通过使用数据绑定来分隔url(应该是SEO)并设置id独立于url查询?我希望你使用一些模板引擎来呈现这个HTML代码。如果不是它只有一个属性更多。

例如:

<ul class="menu">
<li class="parent">
    <a class="menu-link" href="http://url.com/en/topic-for-women" data-id="1">Id</a>
</li>
<li class="parent">
    <a class="menu-link" href="http://url.com/en/topic-for-men" data-id="2">Id</a>
</li>

为此你可以使用非常简单的jquery调用:

$(".menu .menu-link[data-id='2']").addClass("active");

这里是链接enter link description here