Javascript onclick=更改表单中同一类的所有输入文本字段背景色

Javascript onclick=更改表单中同一类的所有输入文本字段背景色,javascript,css,internet-explorer-7,forms,getelementsbyclassname,Javascript,Css,Internet Explorer 7,Forms,Getelementsbyclassname,让它在IE7中工作。 试图通过类更改表单中输入文本字段的背景色。 我知道IE7不支持getelementsbyClassName,所以必须创建函数。我已经尝试了很多getelementsbyClassName函数的例子,但是没有一个对我有用。希望有人能为我提供一个解决方案 function changecolor() { //i don't know what to put here } <input type="text" class="items"> <input

让它在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>
函数changecolor(){
//我不知道该在这里放什么
}
变色

这就完成了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;
}

您可以使用
样式表的
id
,而不是
样式表[0]

中的索引,这在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;
}

您可以使用
样式表的
id
,而不是
样式表[0]

中的索引,因为您希望使用现代功能,但需要支持古老的浏览器,所以最好的解决方案是使用库,如

使用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>

变色
$('#changeColor')。在('单击',函数()上){
$('input.items').css('backgroundColor','0ff');
});

这里有一个演示:

由于您希望使用现代功能,但需要支持古老的浏览器,因此最好的解决方案是使用一个库,例如

使用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>

变色
$('#changeColor')。在('单击',函数()上){
$('input.items').css('backgroundColor','0ff');
});

这里有一个演示:

为什么不使用Jquery……@naimshaikh如果用户想要Jquery,他应该给它加上标签-但是如果有帮助的话,他不介意使用Jquery,但我似乎无法让他的代码正常工作:/如果用户想要Jquery,为什么不使用Jquery……@naimshaikh,他应该给它加上标签——但如果jquery有帮助的话,他并不介意使用它,但我似乎无法让他的代码正常工作:/