假设我点击任意按钮时有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创建按钮并添加class-name
或new attribute
,使在写selector
Jquery的容易。
<button class="test">button1</button>
<button class="test">button2</button>
<button class="test">button3</button>
通过定义selector
选择Jquery的所有元素和CSS添加到除了当前元素的所有元素。 为了使它在第二次点击的工作,我们应该重置当前元素
$(".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. 点击按钮颜色没有改变
- 3. 按下按钮时改变按钮的颜色
- 4. C# - 单击时改变相邻的按钮颜色
- 5. 单击ajax时替换按钮颜色
- 6. 更改按钮点击按钮颜色暂时在C#
- 7. 单击按钮时按钮背景颜色未更新
- 8. 使用ng-click单击其他按钮时的按钮颜色变化
- 9. 更改点击按钮的颜色
- 10. setBackgroundColor改变了更多的颜色,然后单击按钮
- 11. Android ...单击时更改按钮颜色,但我有许多按钮?
- 12. 单击编辑按钮时更改单元格颜色
- 13. 如何改变点击时的按钮颜色
- 14. Swift:点击时改变按钮的颜色
- 15. 如何更改颜色点击按钮?
- 16. 点击更改javafx按钮颜色?
- 17. 更改颜色的按钮
- 18. 点击DataGridViewButtonCell按钮颜色变化
- 19. 如何在WP7中单击时更改按钮的颜色?
- 20. 单击时更改按钮的背景颜色
- 21. 基于散列值单击时更改按钮的颜色
- 22. 改变Android的按钮颜色不断
- 23. 改变按钮的颜色兑现CSS
- 24. 动态改变按钮的颜色
- 25. 改变按钮的颜色太慢
- 26. gridView中按钮的第一个按钮不会改变颜色
- 27. 当按下按钮时按钮颜色发生变化
- 28. 多个按钮,一个事件来改变点击按钮的颜色
- 29. 什么使按钮在鼠标点击时改变颜色?
- 30. 当点击按钮时不改变颜色
请提供您的公司在问题中。 – VisioN
有没有帮助你的答案?你在寻找其他的英特尔? –