2012-02-07 11 views
0

クリックしたリンクに同時にクラスを追加しようとしていますが、同時にそのクラスをDOMから削除しようとしています。クラスを追加するコードの部分は機能しますが、クラスを何度も何度も繰り返すだけです。私はまた、JavaScriptのソリューションとサーバーサイドのソリューションの有効性について興味があります。.removeClass()はクラスを削除しません。可能性のある特異性エラー

$(document).ready(function() { 
    $(function() { 
    $('#header a span').click(function(e) { 
    var title = this.innerText; 
    //possible browser compatability from .text? 
     $('selected').removeClass('selected'); 
     $(this).addClass('selected'); 
     // Also prevent the link from being followed: 
    }); 
    }); 

<div id="header" class="ui-corner-all ui-buttonset"> 
     <a title="index" href="#" class="link" ><span>home</span></a> 
     <a title="code" href="#" class="link" ><span>code</span></a> 
     <a title="design" href="#" class="link" ><span>design</span></a> 
     <a title="illustration" href="#"class="link" ><span>illustration</span></a> 
     <a title="writing" href="#" class="link" ><span>writing</span></a> 
     <a title="links" href="#" class="selected" ><span>links</span></a> 
     <a title="about" href="#" class="selected"><span>about</span></a> 
     </div> 
+4

'$( 'selected')'ここにドットがありませんか? – Cheery

+2

'this.innerText' - >' $(this).text() ' –

+1

' $(document).ready() 'と' $(function(){})をネストする必要もありません。 –

答えて

1
がにあなたのJSを変更

:ところで

$(document).ready(function() { 
    $('#header a span').click(function(e) { 
     var title = $(this).text(); 
     //possible browser compatability from .text? 
     $('.selected').removeClass('selected'); 
     $(this).addClass('selected'); 
     // Also prevent the link from being followed: 
     return false; 
    }); 
}); 

、あなたがspan要素、またはa要素のクラスselectedをしたいですか、あなたのJSはspanを示したが、あなたのhtmlはaを示しています。

+0

あなたはそれをしている間に、質問のコメントに記載されているいくつかの他のものを変更してください... –

+0

は、ヒントのためにありがとうことができます。 – expiredninja

1
$('selected').removeClass('selected'); 

$('.selected').removeClass('selected'); 
+0

+1 21秒で私にそれを打つために。 –

0

あなたのクラスのニーズでなければなりません(。)その前に私は思います。

+0

あなたが答えを知っていると「考えて」いるだけでは、質問に答える価値はありません。 –

+0

@AtesGoralありがとう – Rayshawn

関連する問題