Jquery 如何更改具有特定值的输入的颜色

Jquery 如何更改具有特定值的输入的颜色,jquery,Jquery,我想用-Select-值更改页面上任何输入的颜色。以下代码适用于模糊: setTimeout(() => { $(document).ready(function () { $('input').blur(function() { if ($(this).val().indexOf('Select') !== -1) { $(this).css('c

我想用-Select-值更改页面上任何输入的颜色。以下代码适用于模糊:

setTimeout(() => {
            $(document).ready(function () {
               $('input').blur(function() {
                    if  ($(this).val().indexOf('Select') !== -1) {
                       $(this).css('color', '#6D6E71');
                    }
                });
            });
}, 500);
但由于我想在页面加载时使用-Select-值更改任何输入的颜色,因此我将代码更改为:

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

这个代码不起作用。为什么不呢?我应该如何更改它才能正常工作?任何帮助都将不胜感激。

您没有检查$'input'集合中的所有输入。 $'input'.val将只返回集合中第一个输入的值。您可以使用每个来迭代整个集合:

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