javascript - 使用 jquery 选择特定的 anchor 链接

标签 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,我正在检测页面的哪个部分当前可见。这样我就可以获得 anchor 链接的Id部分。现在我如何选择特定的 anchor 链接?

我尝试过这个:

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

但这行不通(否则我就不会在这里!)。

最佳答案

:contains将检查html()/text()作为 anchor 标记的一部分,您需要使用 href 的属性选择器 anchor 标记如下所示

$('.menu').find("a[href*='#" + this.id + "']" ).addClass('active');

<强> JSFiddle Demo

有关 attribute contains selector的更多信息

关于javascript - 使用 jquery 选择特定的 anchor 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31430378/

相关文章:

javascript - 如何禁用 bootstrap-slider.js 中的 slider ?

javascript - 如何在页面加载时从 URL 中清除标签

javascript - Google Maps Api V3 - 可编辑信息窗口

javascript - window.onclose 函数

javascript - 单击模式提交按钮后打开警报窗口

html - 固定页眉与页内 anchor 重叠

jquery从外部页面循环链接到特定幻灯片?

javascript - JavaScript 中的数组

jquery - 使 float 的 div 居中

jquery - CSS/JQuery 菜单导航