2017-10-21 52 views
0

我想要使用“ - 选择 - ”值更改页面上任何输入的颜色。下面的代码工作的模糊:如何更改某个值的输入颜色

setTimeout(() => { 
      $(document).ready(function() { 
       $('input').blur(function() { 
        if ($(this).val().indexOf('Select') !== -1) { 
         $(this).css('color', '#6D6E71'); 
        } 
       }); 
      }); 
}, 500); 

但因为我想改变与在页面加载值“ - 选择 - ”任何输入的颜色,我改变了代码:

setTimeout(() => { 
       $(document).ready(function() {     
         if ($('input').val().indexOf('Select') !== -1) { 
          $(this).css('color', '#6D6E71'); 
         }   
       }); 
}, 500); 

此代码不起作用。为什么不?我应该如何改变它才能工作?任何帮助将不胜感激。

回答

1

您并未检查$('input')集合中的所有输入。 $('input').val()只会返回集合中第一个输入的值。您可以使用each()以遍历整个集合:

setTimeout(() => { 
    $(document).ready(function() { 
     $('input').each(function() { 
      if ($(this).val().indexOf('Select') !== -1) { 
       $(this).css('color', '#6D6E71'); 
      } 
     }); 
    }); 
}, 500); 
+0

工作正常!非常感谢你! –