javascript - 如何在下拉菜单中为事件网页加下划线?

标签 javascript jquery html css twitter-bootstrap

<分区>


这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助 future 的读者。

关闭 7 年前

我正在使用 bootstrap 构建网页,在我的导航栏中,我有三个下拉菜单。我想对页面进行编程,以便当前加载的页面及其相应的下拉菜单带有下划线或突出显示,以便用户知道他们在哪个页面上。

在我的html文件中,下拉菜单导航栏如下:

<ul class="dropdown-menu">
     <li><a href="#'>item1</li>
     <li><a href='#'>item2</li>
</ul>

在我的css文件中,activePage类定义如下:

.activePage {
     text-decoration: underline;
}

在我的 javascript 文件中,我尝试执行以下操作:

$('.dropdown-menu a').click(function(){
     $('.dropdown-menu a').removeClass('activePage');
     $(this).addClass('activePage');
});

但是上面的内容并没有在下拉菜单中强调我所在的当前页面。我觉得它很奇怪,因为当我执行以下操作时:

<ul class="dropdown-menu">
     <li><a class="activePage" href="#'>item1</li>
     <li><a href='#'>item2</li>
</ul>

第一项成功加下划线。

最佳答案

你只是有一些打字错误。 JavaScript 应该使用 '.dropdown-menu a' 选择器而不是 '.dropdown-menu .a'。它还缺少尾随括号。

演示:http://codepen.io/anon/pen/vNzRJP

html

<ul class="dropdown-menu">
  <li><a href="#">item1</li>
  <li><a href="#">item2</li>
</ul>

CSS

/* this line is assumed from bootstrap */
a {text-decoration: none;}
.activePage {
  text-decoration: underline;
}

JavaScript

$('.dropdown-menu a').click(function() {
  $('.dropdown-menu a').removeClass('activePage');
  $(this).addClass('activePage');
});

关于javascript - 如何在下拉菜单中为事件网页加下划线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33549813/

上一篇:css - 无序列表在 chrome 中显示不正确

下一篇:jquery - 如何使用 jQuery slideToggle 扩展内联列表中的嵌套列表?

相关文章:

javascript - 使用 HTML/Javascript 访问动态创建的 div 中的元素

javascript - 显示日期选择器时突出显示特定日期

javascript - 如何禁用日期选择器上的过去日期。尝试了 stackoverflow 上提供的所有解决方案

javascript - 选择不同元素时在 jQuery mobile/phonegap 中隐藏 iOS 键盘?

javascript - 如何通过 AJAX 调用插入 IE 8 中的 "enable"HTML5 元素?

javascript - 如何在 jQuery 中调试预期的 DOM 行为?

jquery - 如何一次只显示一个div

JavaScript 语法错误

JavaScript 拼接不工作

javascript - 当我第二次调用 getJSON 时,它不是一个函数