嵌套列表-使用Javascript选择路径
Nested lists - selecting path using Javascript
我有一个Javascript函数,它是添加css类"current"到选定的链接<a>
。这个函数看起来像这样:
function markActiveLink() {
var path = location.pathname;
var links = null;
if (path) {
links = $("a[href^='" + path + "']");
} else {
links = $("a[href='/']");
}
links.parents("li").each(function () {
$(this).addClass("current");
});
}
我有一个嵌套列表,看起来和那个列表很像:
<ul class="menu">
<li><a href="#a">menu item</a>
<ul>
<li><a href="#aa">menu item</a> </li>
<li><a href="#ab">menu item</a></li>
<li><a href="#">menu item</a></li>
</ul>
</li>
<li><a href="#a">menu item</a>
<ul>
<li><a href="#aa">menu item</a> </li>
<li><a href="#ab">menu item</a></li>
<li><a href="#">menu item</a></li>
</ul>
</li>
</ul>
我想添加类"当前"(使用Javascript函数)不链接<a>
像它现在工作,但<li>
元素和它的父<li>
。所以它看起来像这样:
<ul class="menu">
<li class="current"><a href="#a">menu item</a>
<ul>
<li><a href="#aa">menu item</a> </li>
<li class="current"><a href="#ab">menu item</a></li>
<li><a href="#">menu item</a></li>
</ul>
</li>
<li><a href="#a">menu item</a>
<ul>
<li><a href="#aa">menu item</a> </li>
<li><a href="#ab">menu item</a></li>
<li><a href="#">menu item</a></li>
</ul>
</li>
</ul>
问题:我如何修改我的功能markActiveLink()
,使它会添加类"当前"<li>
元素和它的父<li>
元素?
任何帮助在这里非常感激!
尝试:
links.parent().addClass('current')
.closest('li').addClass('current');
jQuery文档在我看来,它正在工作。我只更改了链接中的href,这样它们就不会重复,并添加了一些CSS来显示这个JSFiddle
使用.parent()
api来完成文档编辑像这样:
$(this).parent().parent().addClass("current")
相关文章:
- Raphael JS选择路径/对象/节点的特定实例
- 使用javascript从磁盘中的文件夹中选择所有图像的路径
- 获取在html中选择的完整路径文件夹
- 如何创建一个浏览按钮,通过该按钮我可以选择系统的任何路径,即C:Program Files.并将其放入文本框中
- JAVASCRIPT:根据两个选择确定路径
- 为什么 CSS 选择器只设置第一个匹配 svg 路径的样式
- 如何在 HTML 页中制作对话框以选择本地文件路径
- 无法选择 SVG 图片中的路径
- css 路径中的通配符选择器,用于 grunt-contrib-compass
- lodash 表示“按对象路径选择”
- 剪辑路径选择 铬与火狐
- 文件在谷歌驱动器选择器上传后的绝对路径
- 在树布局中选择子节点的所有路径和父节点
- 在Raphael中悬停时选择另一个路径对象
- jQuery.val()根据选择器路径返回不同的值
- 当从下拉列表中选择路径元素的值时,如何更改其颜色
- 选择路径
- 嵌套列表-使用Javascript选择路径
- D3:从json数据中选择路径时遇到问题
- 如何选择路径标签从svg文件在img标签