Jquery添加类标记不起作用

时间:2014-03-31 12:05:55

标签: jquery addclass

我有一个名为#nav ul li a的导航。在此列表中,我想将活动类添加到已单击的元素。

这是我的jquery

$(document).ready(function() {      
$('#nav ul li a').click(function() {
           $('#nav ul li a').removeClass('active"');

           $(this).addClass('active');
           return false;
        });
});

这是我的HTML

<header id="header"> 
    <h1 id="logo"><a href="#intro">DerW&auml;schestuhl</a></h1>
    <nav id="nav">
        <ul>
            <li><a href="#one" class="active" id="uebersicht-btn">&Uuml;bersicht</a></li>
            <li><a href="#two" class="" id="aussehen-btn">Aussehen</a></li>
            <li><a href="#work" class="" id="funktionen-btn">Funktionen</a></li>
            <li><a href="#produktion" class=""id="produktionen-btn">Produktion</a></li>
            <li><a href="#contact" class="" id="kaufen-btn">Kaufen</a></li>
        </ul>
    </nav>
</header>

这是我的jsfiddle来显示样式表:http://jsfiddle.net/Usgk3/

你们有什么想法它为什么不工作?我找不到错误

6 个答案:

答案 0 :(得分:1)

在你的小提琴中没有jQuery链接和:

$('#nav ul li a').removeClass('active"');

('有效'')中删除

Working JSFiddle

答案 1 :(得分:1)

尝试

$(document).ready(function() {      
 $('#nav ul li a').click(function(e) {
    $('.active').removeClass('active');

       $(this).addClass('active');
       return false;
    });
  });

Demo

答案 2 :(得分:0)

删除字符串"中的'active"'

$('#nav ul li a').removeClass('active"');

Fiddle。设置: fiddler settins

答案 3 :(得分:0)

你在小提琴演示中缺少jQuery。

您还需要使用:

$('#nav ul li a').removeClass('active');

而不是:

$('#nav ul li a').removeClass('active"');
// --                                ^ Remove this

<强> Updated Fiddle

答案 4 :(得分:0)

而不是:

$('#nav ul li a')。removeClass('active“');

删除随附的('active“');

中的

这应该像

$('#nav ul li a')。removeClass('active');

这应该解决问题。

答案 5 :(得分:0)

  1. 由于你没有把jquery放在你的小提琴里,我假设你使用了一个新的jquery版本,所以最好使用.on( 'click' ),而不是.click()
  2. 保持简单,将$('#nav ul li a')替换为$('#nav a')。根据你的标记,这是完全相同的东西
  3. 在jquery中查看.siblings()的更多信息。
  4. 您的工作代码为here