我有这样的菜单结构:
<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');
但这不起作用(否则我不会在这里!)。
答案 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");