2014-03-31 21 views
1

我有一个名为#nav ul li a的导航。在这个列表中,我想将活动类添加到已被点击的元素。Jquery addClass标记已知工作

这是我的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/

你们是否有任何想法,为什么它没有工作?我不能发现其中的错误

+1

removeClass( '主动“')< - 是错误的 - 有一个'”'得多:) –

+0

删除它,但它仍然没有工作!对不起 – fjw

+1

它为我工作。如果您在提供的jsFiddle中检查它,请不要忘记包含您正在使用的jquery库,否则'$'对象将无法工作。 – frikinside

回答

1

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

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

删除“从(”主动“”)

Working JSFiddle

+0

看到更新的小提琴在这里:http://jsfiddle.net/Usgk3/7/ –

0

字符串'active"'删除"

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

Fiddle。随着设置: fiddler settins

+1

不,仍然无法正常工作。抱歉 – fjw

+0

添加小提琴链接。另请参阅小提琴设置(jQuery添加和onLoad删除) –

1

尝试

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

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

Demo

+0

它不工作.. – fjw

+1

@fjw那么你想如何的功能?这是正确的。 –

+0

好的,它正在工作。忘了检查jquery。你知道我怎么可以添加类到菜单元素没有点击它,但通过滚动?它的视差页面 – fjw

0

你错过的jQuery在你的提琴演示。

您还需要哟使用:的

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

代替:

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

Updated Fiddle

0

取而代之的是:

$('#导航UL李A ')。removeClass(' 活性'” );

删除封闭('active')中的;

这应该是像

$( '#导航UL李一')removeClass( '激活')。

这应该解决问题。

0
  1. 既然你不把jQuery的你拨弄我假设你使用一个新的jQuery版本,所以最好使用.on('click'),不.click()
  2. 保持简单,与$('#nav a')更换$('#nav ul li a')。根据你的标记,它是完全一样的东西
  3. 查看更多about .siblings() jquery。

你的工作代码为here

+0

谢谢!有用。你知道我如何滚动,当我达到'#work'时,然后将该类添加到菜单中。所以不是通过点击,而是通过滚动。 – fjw