为与第一段匹配的任何 URL 添加活动类
Add Active Class for any URL match to first segment?
我的Javascript正在将活动类添加到所有链接中,其中包含与我的路径变量匹配的一个段,而不是与我的导航上有两个段的链接。
无论检查当前在 window.location.pathname 中的任何 URL 的第一段,如果第一段匹配,我将活动类添加到导航项,我都希望它。
它适用于家庭,产品和画廊。但是当我控制台.log(linkPath)时,它为url产品/示例显示文本示例而不是产品。因此没有数学运算,它不会将活动类添加到当前项。
如何让它添加活动类,无论基于具有多个细分的任何 url 中的第一个段匹配?
.HTML
<nav class="navbar" role="navigation">
<h2 class="markup">Main Navigation</h2>
<div class="collapse navbar-collapse main-nav-list navbar-link-background">
<ul class="nav navbar-nav">
<li><a href="http://www.example.com/">Home</a>
</li>
<li><a href="http://www.example.com/products">Products</a>
</li>
<li><a href="http://www.example.com/gallery">Gallery</a>
</li>
<li><a href="http://www.example.com/promotions">Promotions</a>
</li>
<li><a href="http://www.example.com/products/samples">Samples</a>
</li>
</ul>
</div>
</nav>
爪哇语
var url = window.location.pathname.split( '/' ),
path = url[1];
/* Get URL For Setting Active Nav List Item */
$(".navbar-nav").children("li").each(function() {
var link = $(this).children("a").attr("href"),
linkPathIndex = link.lastIndexOf("/")+1,
linkPath = link.substring(linkPathIndex);
if (linkPath == path) {
$(this).addClass("active");
}
});
为什么不直接在链接 href 中检查路径名? 像这样:
$(".navbar-nav").children("li").each(function() {
var link = $(this).children("a").attr("href");
if(link.indexOf(path) > -1){
$(this).addClass("active");
return;
}
});
这是我
使用的:
this.win.on(events.load, function() {
var anchors = self.list.prev().find(cache.anchor),
url = document.URL;
$.each(anchors, function() {
var anchor = $(this),
href = anchor.prop('href');
if (url.indexOf(href) !== -1) {
anchor.addClass(classes.active);
}
});
});
相关文章:
- 将任何CDN配置为只传递一个文件,无论请求的url是什么
- 使用Javascript/jQuery以编程方式将当前锚点/哈希/片段附加到任何表单操作url
- 在不重新加载的情况下更改标头URL的任何方法
- 如果URL中有任何字符串变体匹配,则返回true
- 可用于重定向到任何 URL 的 JavaScript 函数
- 在不使用任何http、https或ftp的情况下验证URL
- 有没有任何方法可以使<选择>转到url
- 有些人有任何关于如何使用Modified Java Script Value处理返回Json(url)的示例
- 查找任何未定义的变量并从url字符串中隐藏
- Url已更改,但AngularJS中没有显示任何内容
- 我无法在我的网站上获取任何图像或显示任何 URL 图像
- 为与第一段匹配的任何 URL 添加活动类
- 正则表达式帮助 - 匹配列表中未列出的任何 URL 参数和值
- 如何通过javascript和代理简单地从任何URL读取html
- 转换class.phpmailer.php中的任何url
- jQuery:添加前缀到任何url (.attr)
- 生成嵌入代码给定的任何url
- 任何URL的Colorbox模态
- 填写任何url的文本框与数据从我的javascript / php代码
- 只从任何URL获取域