ボタンをクリックすると100個のボタンがあるとします。残りの99個のボタンの色を変更したいとします。これを達成する方法は? 100個のボタンすべてにクリックイベントハンドラを追加するのは良い考えではありません。これを達成するためのさまざまな方法を教えてください。ありがとうございました。ボタンをクリックすると残りのボタンの色が変わります
0
A
答えて
0
はなぜこの
$(document).on('ready',function(){
$('button').click(function() {
$('button').css('background', 'red');
$(this).css('background','none');
});
});
をしませんはるかに簡単に見える
2
これはどうですか? (http://jsfiddle.net/nw77tgya/)
もちろん、コードを味わうことができます。ボタンセレクターをクラスセレクターに置き換えて、ボタンの選択範囲を狭めることができます。
また、クラスを追加したり削除したりするなど、CSSを変更することもできます。
この例でいえ途中であなたを取得する必要があります;)
$(document).on('ready',function(){
$('button').click(function() {
$('button').not($(this)).css('background', 'red');
$(this).css('background','none');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>A Button</button>
<button>A Button</button>
<button>A Button</button>
<button>A Button</button>
<button>A Button</button>
<button>A Button</button>
<button>A Button</button>
0
あなたはこのように、バニラJSでこれを行うことができます。
var buttons = document.querySelectorAll('button');
[].forEach.call(buttons, function(btn) {
btn.addEventListener('click', function() {
var clickedButton = this;
[].forEach.call(buttons, function(innerBtn) {
if (innerBtn !== clickedButton) {
innerBtn.classList.add('green');
}
else {
innerBtn.classList.remove('green');
}
});
});
});
.green {
background:green;
}
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
あるいは、短いjQueryの中:
var buttons = $('button').click(function(){
buttons.not(this).addClass('green');
$(this).removeClass('green');
});
.green {
background:green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
<button>Button</button>
0
HTMLにボタンを作成し、jQueryのでselector
を書き込むため容易にするためにclass-name
またはnew attribute
を追加します。
<button class="test">button1</button>
<button class="test">button2</button>
<button class="test">button3</button>
selector
を定義することにより、のjQuery内のすべての要素を選択し、現在の要素を除くすべての要素にCSSを追加します。 、第2クリックで作業することについては、我々はに現在の要素
$(".test").click(function(){
$(this).css("background-color", "");
$(".test").not($(this)).css("background-color", "red");
});
1
のCSSをリセットする必要があります。ここ無地のJavaScriptソリューションです。 これは、querySelectorAll
に供給されたセレクタに一致するすべての要素をルックアップし、それらをループし、クリックされたボタンでない場合は - e.target
- クラスをあなたがどこかでスタイリングしたものに設定します。
あなたのボタンが持っていない場合は、クラス:
button.addEventListener('click', function(e) {
e.target.className = ''
[].forEach.call(document.querySelectorAll('button'), function(b) {
if (b !== e.target) {
b.className = 'other-color'
}
})
})
元のクラスが '普通のボタンが' の場合:
button.addEventListener('click', function(e) {
e.target.className = 'plain-button'
[].forEach.call(document.querySelectorAll('.plain-button'), function(b) {
if (b !== e.target) {
b.className = 'plain-button other-color'
}
})
})
関連する問題
- 1. ボタンをクリックするとフラグメントの色が変わります
- 2. JavaScriptでボタンをクリックすると文字の色が変わります
- 3. 背景色が変わるとボタンの色が変わりますか?
- 4. ボタンをクリックするとAndroidボタンのテキストが垂直に変わります
- 5. ボタンを押すと文字の色が変わります
- 6. ng-clickを使用して他のボタンでクリックするとボタンの色が変わります
- 7. ボタン1をクリックするとすぐにボタン2の色が変わりますか?
- 8. Swift 3.0:一度押すとボタンの色が変わります
- 9. ボタンをクリックすると画像が切り替わります
- 10. Silverlight - ボタンで色が変わることはありません。
- 11. ボタンを押すと画像が変わり、ボタンの画像が変わっても変わりません。
- 12. IBActionボタンの色が変わりますか?
- 13. チェックボックスをオンにすると、ボタンの色が緑に変わります。
- 14. 別のボタンをクリックするとボタンがフェードアウトになります
- 15. クリックすると色が切り替わるボタンを作るTcl/Tkスクリプト?
- 16. クリックするとAndroidのテキストの色が変わります
- 17. ボタンをクリックするとボタンの背景色が変更されます
- 18. クリックするとリンクの色が変わります
- 19. ボタンをクリックする代わりにキーダウン
- 20. jquerymobileボタンをクリックすると青色になります
- 21. クリックするとボタンの色を変更します
- 22. セレクターでボタンの色を変えてこの色を残す
- 23. アンカータグの色がクリックされると青色に変わります
- 24. ボタンの代わりにセル自体をクリックすると静的なセルのボタンが消えます
- 25. クリックするとタブの背景とフォントの色が変わります
- 26. ワードプレスのボタンをクリックするとカテゴリに残りの投稿を表示
- 27. クリックしたときのセルのボタンの色を変更する
- 28. SVG - ボタンのクリックで塗りつぶしの色を変更する
- 29. クリックするとすべてのボタンの色が変更されます
- 30. クリック時のDataGridViewButtonCellボタンの色の変更
de質問です。 – VisioN
あなたに役立つ答えがありますか?他の情報をお探しですか? –