0

私はHTMLdivを持っています

<div id="buttons">
   <button type="button" id= "button_1" >I am button one</button></br></br>
   <button type="button" id= "button_2">I am button two</button></br ></br>
</div>

次のjQueryハンドラーを添付しました

$("#buttons").click(function(event) {

}

クリックしたボタンのラベルタイプの色を赤に、他の1つまたは複数のボタン(さらに追加する場合があります)のラベルタイプの色を黒に戻すコードを入力したいと思います。このタイプのコードの使用:

 $("#button_1").css("color","red”);

.notを使用すると、クリックされていないdivを取得できると思いました。たとえば $("#buttons").not(“#” + event.target.id).css("color”,”black”)、クリックされていないすべてのボタン(基本的にはevent.targetではないボタン)を黒に設定し、次にクリックされたボタンを赤に設定します$(“#” + event.target.id).css("color”,”black”)

それは機能していません-したがって私のクエリ。答えてくれてありがとう。

4

3 に答える 3

0

次のように.siblings()で実行できます。

$("#button_1").siblings().css("color","black");
于 2012-10-09T00:04:57.987 に答える
0

単純に

$(".buttonClass").click(function(event) {
    $(this).css("color","red");
    $(".buttonClass").not(this).css("color","black");
}

buttonClassボタンのクラスはどこにありますか。".buttonClass"あなたのhtmlにbutton応じて置き換えることができます。

于 2012-10-09T00:05:11.443 に答える
0

セレクターを使用して.siblings()兄弟を選択できます (はい、本当に):

$('#buttons button').click(function() {
  $(this).css('color', 'red').siblings().css('color', 'black');
});

デモ: http://jsfiddle.net/Bsum5/1/


より良いアプローチは、CSS を使用してクラスを追加することです。

$('#buttons button').click(function() {
    $('.active').removeClass('active');
    $(this).addClass('active');
});​

そして、次の CSS を使用します。

​.active {
    color: red;
}​

デモ: http://jsfiddle.net/Bsum5/3/

于 2012-10-09T00:05:22.817 に答える