javascript - 根据 url 分配不同的类

标签 javascript html css

我需要动态地设置“active”类来管理某些链接的样式。 我有这段代码,但不起作用..

<script type="text/javascript" language="javascript">  
function locationPathname(){  

    var path = window.location.pathname.split('/');
    path = path[path.length-1];
    alert(path);
    if (path !== undefined) {
    $('livello2 a[href="/' + path + '"]').addClass('active');
  }
    }
 </script>

和 html:

 <div class="livello2">
                 <div class="live">
                     <a href="./Live.php"><img src="live_off.png"></a>
                 </div>
                 <nav class="menu">
                     <ul>
                         <a href="./index.php" ><li>HOME</li></a>
                         <a href="./Concerti.php"><li>CONCERTI</li></a>
                     </ul>
                 </nav>
       </div>

CSS:

.active{background-color:red}

有人有任何建议或看到了吗?

最佳答案

在你的 JS 中你这样做:

$('.livello2 a[href="/' + path + '"]')

(假设您在选择器的开头添加了那个点)将(在计算 path 变量之后)转换成类似的东西

$('.livello2 a[href="/Concerti.php"]')

但是代码中的实际 href 属性以 .(点)开头,如

href="./Concerti.php"

因此您需要将上面的 JS 片段更新为

$('.livello2 a[href="./' + path + '"]')

关于javascript - 根据 url 分配不同的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13644268/

相关文章:

javascript - 评论框添加文本值而不使用html

Jquery-在页面加载一段时间后隐藏/显示 div

javascript - 使用图像 slider 获取要更改的文本

javascript - AngularJS 中的 View 未更新

javascript - 找到破坏两个字符串之间匹配的索引

javascript - 向 dijit 对话框添加内容

javascript - Threejs模型加载: "Access to XMLHttpRequest .. from origin ' null' has been blocked by CORS policy"- How to Test Locally?还是简单上传?

php - 遍历 $_GET 结果

html - 表格内的绝对定位

html - 为 Mobile Safari (webkit) 重新创建 HTML5 范围输入?