使用单选按钮更改 HTML 元素的颜色
Changing color of HTML element using radio button
我有 10 组带有两个选项的单选按钮,每组由一个<div>
分隔。
<div id = "radio1">
<p>Do you like to walk?</p>
<input type="radio" value="a" name="radgrp1"/> Yes <br />
<input type="radio" value="b" name="radgrp1"/> No <br />
</div>
<div id = "radio2">
<p>Would you prefer to walk without effort?</p>
<input type="radio" value="a" name="radgrp2"/> Yes <br />
<input type="radio" value="b" name="radgrp2"/> No <br />
</div>
然后我有 10 个指向每个组的标签。
<a id ="a1" href="#radio1">Goto 1</a>
<a id ="a1" href="#radio2">Goto 2</a>
我希望实现的是用户单击"是"选项的那一刻,相应标签的颜色,即Goto 1,Goto 2等变为绿色。
你可以试试这个(假设除了这个之外没有document.body.onclick
事件处理程序)
var radios = document.querySelectorAll('input[name^=radgrp]');
document.body.onclick = function(e){
var evt = e || window.event, target = evt.target || evt.srcElement;
if(target.name) {
var prefix = target.name.substr(0, 6), suffix = target.name.substr(6);
if(prefix && prefix == 'radgrp') {
if(target.value == 'a' ) {
document.getElementById('a' + suffix).style.color = 'green';
}
else {
document.getElementById('a' + suffix).style.color = '';
}
}
}
};
将此代码放在<script>
标签之间的结束</body>
标签之前,例如
<script type='text/javascript'> // code goes here </script>
此外,您可以检查此设置以使用不同的方法注册事件。
更新:
querySelectorAll
在IE-6
不起作用,因此您可以尝试这种替代解决方案以使IE-6
正常工作。另外,如果你使用jQuery(把代码放在<script>
之间的<head>
),你可以使用这个例子,如果是jQuery
,你必须首先在<head>
部分添加jQuery
脚本。
一种常见的技术是使用数据属性在元素之间创建关系。在您的情况下,您可以在每个输入/单选按钮上放置一个属性,该属性引用要影响的元素的 id。
<input type="radio" value="a" name="radgrp1" data-target="a1" /> Yes <br />
然后使用一些jQuery你可以这样做:
$('input[type="radio"]').change(function(){
var id = $(this).attr('data-target');
$('#' + id).css('background-color', 'rgb(255, 255, 255)');
});
相关文章:
- 使用ngRepeat中的Angular动态更改元素颜色
- 在模式框打开之前更改 SVG 元素的颜色,并在框打开时保持该颜色
- Extjs 树 如何更改子元素的文本颜色
- 我需要在javascript if语句中使用jquery来动画元素的颜色
- 更改不同元素的颜色
- 我怎样才能随机化 HTML 元素的颜色属性
- 在自定义坐标处获取RaphaelJS元素的颜色填充
- 边距和输入元素边框之间的填充颜色
- 更改整个页面上不同元素的颜色
- 使元素单独更改颜色
- 单击时更改元素的颜色
- 使用单选按钮更改 HTML 元素的颜色
- 将输入 html 元素动态关联到颜色选取器
- 更改元素父元素的背景颜色时停止在
上闪烁鼠标悬停?jQuery/JS. - 获取动态背景颜色,使用 LESS 应用于单独的元素
- 如何为 svg 元素提供 hsl 颜色值
- 如何在每次滚动时更改元素颜色
- 单击以更改元素颜色
- 动态改变元素颜色的最佳方法
- Javascript改变元素颜色/ PHP变量