2016-12-06 3 views
-1

私はシンプルなJを使いたいと思っています。それぞれのliをクリックしてchangeBrasaoCamisa関数を実行すると、ctoクラスに "ativo"を入れます。js経由でliクラスを変更してください

$("ul li").on("click", function() { 
    $("li").removeClass("ativo"); 
    $(this).addClass("ativo"); 
}); 

HTML::

<div class="dorco"> 
    <ul style="list-style-type: none; cursor: pointer;"> 
    <li class="posEscudo esquerda ativo" a href="#" onclick='changeBrasaoCamisa("esquerda")'> 
     <img src="./imagens/btEscudoEsquerda.png" alt=""> 
    </li> 
    <li class="posEscudo ombro" a href="#" onclick='changeBrasaoCamisa("ombro")'> 
     <img src="./imagens/btEscudoOmbro.png" alt=""> 
    </li> 
    <li class="posEscudo centro" a href="#" onclick='changeBrasaoCamisa("centro")'> 
     <img src="./imagens/btEscudoCentro.png" alt=""> 
    </li> 
    </ul> 
</div> 
+0

を参照してください。邪魔にならないハンドラを追加する方法は正しいです(と動作します)(https://jsfiddle.net/RoryMcCrossan/ne7d2roc/)。あなたの問題は何ですか?クラスが適用されていないように見える場合は、すでに設定されているルールをオーバーライドするのに十分なルールが特定されていることを確認し、コンソールでエラーをチェックします。 –

+0

あなたのマークアップに関連してあなたのスクリプトはどこにありますか?文書の準備ができていないので、マークアップの前に表示されている場合はバインドする要素が見つかりません – Taplar

+0

「ativo」クラスを追加しないでください –

答えて

0

あなたのコードが動作する - 私は証明するために簡略化した例を作っています

ノー成功事例のを試してみました

HTML:

<ul> 
    <li class=" ativo"> 
     a 
    </li> 
    <li> 
     b 
    </li> 
    <li> 
     c 
    </li> 
</ul> 

CSS:

.ativo { 
    font-weight:bold; 
} 

JS:

$("ul li").click(function() { 
    $("li").removeClass("ativo"); 
    $(this).addClass("ativo"); 
}); 

、それは非常に時代遅れだ、 `onclick`イベントを使用しないでくださいJSFiddle here

関連する問題