【发布时间】:2016-01-24 14:52:46
【问题描述】:
所以我在运行 Ruby on Rails 的网站上使用网上找到的模板(其名称为“Easy Start”)。
主要困难是我有一个布局,其中包含“轻松启动”的导航栏及其页脚,并且页面内容保存在其他文件中。
我有麻烦的部分在这里:
<div id="divMenuRight" class="pull-right">
<div class="navbar">
<button type="button" class="btn btn-navbar-highlight btn-large btn-primary" data-toggle="collapse" data-target=".nav-collapse">
NAVIGATION <span class="icon-chevron-down icon-white"></span>
</button>
<div class="nav-collapse collapse">
<ul class="nav nav-pills ddmenu">
<li class="dropdown active"> <%=link_to 'Accueil', '/'%></li>
<li class="dropdown"> <%=link_to 'À Propos', '/about'%></li>
<li class="dropdown"> <%=link_to 'Contact', '/contact'%></li>
</ul>
</div>
</div>
</div>
如您所见,第一个 <li> 有 2 个类,称为“下拉”和“活动”。 "活动是使按钮变为红色并显示哪个页面处于活动状态的原因。
所以我尝试制作一个小的 jQuery 函数,在其中获取当前 URL 并尝试将“活动”类添加到正确的 <li>,同时根据我当前所在的页面从其他页面中删除它.
var url = $(location).attr('href')
if(url ==="http://localhost:3000/"){
$("li.dropdown:nth-child(0)").addClass("active");
$("li.dropdown").not(this).removeClass("active");
}
else if(url ==="http://localhost:3000/about"){
$("li.dropdown:nth-child(1)").addClass("active");
$("li.dropdown").not(this).removeClass("active");
}
else if(url ==="http://localhost:3000/contact"){
$("li.dropdown:nth-child(2)").addClass("active");
$("li.dropdown").not(this).removeClass("active");
}
但它不起作用,互联网上没有任何东西给我一个解决方案...... 我(有点)这样做是对的吗?或者我该怎么做?
提前谢谢你
【问题讨论】:
-
您的浏览器控制台是否报告了任何错误(大多数浏览器为 F12)?
-
概念有效。代码是否在
document.ready处理程序中?您是否测试过条件以查看它们是否匹配?也可以使用location.pathname访问更少的 url .. 将其粘贴到浏览器控制台中会看到它从 url 中删除协议和域 -
第三次检查应该是
url ==="http://localhost:3000/contact"如果location指的是window.location,这看起来是错误的var url = $(location).attr('href')。应该是var url = location.href。现在你如何调试你的代码?似乎很容易检查至少url在您的代码中的样子。不管怎样,看看下面彼得的回答 -
:nth-child选择器索引开始于1"要匹配的每个子元素的索引,从1开始" api.jquery.com/nth-child-selector -
David Thomas > 有一个错误,但有一个库甚至不使用,我很快就会删除,与这个案例无关 charlietfl > 是的,谢谢,它更简单! A. Wolff > 是的,应该是“/contact”,我想我的复制/粘贴失败了。我会在发表此评论后编辑我的问题。尽管如此,当我执行console.log((location).attr('href'))时,我得到了我当前的url,当我点击我的链接时它被修改了……guest271314>是的,你是对的,一开始我以为是数组!
标签: jquery html class ruby-on-rails-4