当我使用以下方法与href匹配文档的URL时,我试图添加一个类:
<script>
currentLinks = document.querySelectorAll('a[href="'+document.URL+'"]')
currentLinks.forEach(function(link) {
link.className += ' current-link'
});
</script>
但是,我停留在第一行,因为它返回了一个空的节点列表。
document.querySelectorAll('a[href="'+document.URL+'"]')
HTML
<li role="presentation" class="current nav-level-5 nav-entry-1 list-position-1 links-open"><a id="perc-navigation-menuitem-nav-level-5-nav-entry-1-list-position-1-113428783" href="/-training-test/menu-test/sub-menu-1/another-level-1/" role="menuitem">Another Level 1</a></li>
此外,+document.URL+
中下一个选择器(+)的用途是什么?为什么不使用a[href="document.URL"]
来返回完整路径呢?
答案 0 :(得分:0)
HTML中的href
属性为/-training-test/menu-test/sub-menu-1/another-level-1/
。但是document.URL
是标准网址,类似于http://www.yourdomain/com/-training-test/menu-test/sub-menu-1/another-level-1/
,因此href
与之完全不符。
尝试使用document.URL
代替location.pathname
,它只是URL的路径名部分。