我有一个Rails 4应用程序,我有一个bootstrap导航菜单。 html看起来像......
<ul class="nav">
<li>
<a href="/tickets">Tickets</a>
</li>
<li>
<li>
<li>
<li>
...我想用javascript做类似的事情......
$('ul li').click( function() {
$(this).addClass('active').siblings().removeClass('active');
});
......但是没有用!我错过了什么?
将JS更改为
$(document).ready(function() {
$('ul li').click( function() {
$(this).addClass('active').siblings().removeClass('active');
});
});
答案 0 :(得分:2)
将javascript代码放入document ready:
$(document).ready(function() {
$('ul li').click( function() {
$(this).addClass('active').siblings().removeClass('active');
});
});
更新:使用事件委派,以便为修改后的元素执行click事件:
$(document).ready(function() {
$('ul.nav').on('click', 'li', function(evt) {
$(this).removeClass('active').siblings().addClass('active');
});
});
答案 1 :(得分:0)
我无法让JS工作。我在布局文件中使用了if语句,就像这样...
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="/"><%= image_tag("logo-mini.png", :alt => "Tech Logo") %></a>
<div class="nav-collapse">
<ul class="nav">
<li class="<%= 'active' if current_page?(tickets_path) %>"><%= link_to "Tickets",
tickets_path %></li>
<li class="<%= 'active' if current_page?(instructors_path) %>"><%= link_to "Instructors",
instructors_path %></li>
<li class="<%= 'active' if current_page?(tutors_path) %>"><%= link_to "Tutors", tutors_path %></li>
<li><%= link_to "Log Out", logout_path %></li>
<li><%= link_to "About", '/about' %></li>
</ul>
</div>
</div>
</div>
</div>