onclick= 更改表单中同一类的所有输入文本字段背景颜色
onclick= change all input text field background color of the same class in a form
让它在IE7中工作。尝试通过类更改表单中输入文本字段的背景颜色。我知道IE7不支持getelementsbyClassName,所以必须创建函数。我已经尝试了很多getelementsbyClassName函数的例子,但没有一个对我有用。希望有人能为我提供解决方案。
function changecolor() {
//i don't know what to put here
}
<input type="text" class="items">
<input type="text" class="items">
<input type="text" class="items">
<div onclick="changecolor()">Change Color</div>
这在IE7中可以解决问题:
function changecolor(c){
var a,n;
a=getElementsByTagName('INPUT'); // or a=document.all for all elements in items-class;
for(n=0;n<a.length;a++){
if(a[n].className=='items'){
a[n].style.backgroundColor=c;
}
return;
}
您也可以在 class
中编辑规则,但不能保证在重排页面之前真正更改颜色。
function changeColor(c){
var sSheet,n;
sSheet=document.styleSheets[0].rules;
for(n=0;n<sSheet.length;n++){
if(sSheet[n].selectorText=='.items') sSheet[n].style.backgroundColor=c;
}
return;
}
您可以使用styleSheet
的id
而不是 styleSheets[0]
中的索引。
既然你想使用现代函数,但需要支持古老的浏览器,最好的解决方案是使用像jQuery这样的库。
使用jQuery,你想要做的超级简单:
<input type="text" class="items">
<input type="text" class="items">
<input type="text" class="items">
<div id="changeColor">Change Color</div>
<script>
$('#changeColor').on('click', function() {
$('input.items').css('backgroundColor', '#0ff');
});
</script>
这是一个演示:http://jsfiddle.net/ThiefMaster/kSwv8/
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 要求输入在数据列表中
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 如何将输入(type=text)从html表单传递到javascript函数
- 单击jquery清除输入值
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- jQuery自定义验证比较多个输入的序列
- Sails.js:同时发布文本输入和一个文件
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- jQuery-如何从同一类中隐藏的输入id中获取不同的值
- 将水印添加到具有一类水印的所有输入元素
- 检查同一类的所有输入值是否为空jquery
- onclick= 更改表单中同一类的所有输入文本字段背景颜色
- 如何从同一类中获取输入元素之一的值
- 添加同一类javascript的输入值