html - 将类添加到菜单问题
问题描述
您好,我试图在我的菜单上添加类,但它不起作用
如果你能帮助我,非常感谢。
对不起
HTML
<ul class="nav nav-pills nav-stacked">
<li class="active"><a href="page1.php"><i class="fas fa-home"></i>Page1</a></li>
<li><a href="page2.php"><i class="fas fa-user-circle"></i>Page2</a></li>
</ul>
JS
<script>
var selector = '.nav li';
var url = window.location.href;
var target = url.split('/');
$(selector).each(function(){
if($(this).find('a').attr('href')===('/'+target[target.length-1])){
$(selector).removeClass('active');
$(this).removeClass('active').addClass('active');
}
});
</script>
解决方案
问题是你的if语句永远不会被执行。原因如下:
目标值为:
var target = url.split('/'); // ["localhost", "admin"]
现在,如果您在每个方法中尝试比较两个不同的值:
$(this).find('a').attr('href') // page2.php
和价值
('/'+target[target.length-1]) // /admin
这就是为什么这些代码行永远不会被执行,因为 'page2.php' 不等于 '/admin'
$(selector).removeClass('active');
$(this).removeClass('active').addClass('active');
推荐阅读
- c++ - 如何在 SDL ttf 中提高字体质量并动态显示文本和数字
- angular - 如何使用 Spring Boot 和 Angular 应用程序隐藏授权标头
- javascript - Electron showOpenDialog 箭头功能(event.send)不起作用
- android - 消费购买导致空对象引用
- sql-server - 如果单元格不为空,则计算出现次数
- apache - debian 上的 golang/apache/cgi --- apache 重定向停止工作
- javascript - 无法在 Netlify Lambda 函数中返回 mysql db 查询结果
- r - 如何在 R 中为每列添加具有不同条件的多列?
- mysql - 使用mysql存储过程将日期记录从行转换为列
- ruby - 在简单的 if 语句中使用正则表达式?