如果输入有值,请更改css类

Change css class if input has a value

本文关键字:css 输入 如果      更新时间:2023-09-26

如果输入字段的值为,我如何更改该输入字段的CSS类

示例:

<input name='referrer' type='text' class='input-xlarge placeholder' placeholder='Referrer' value='{$ref}'  style='width:346px;'>

目前,我正在这样做:

if ($('#reffield').val() != ''){ $('#reffield').addClass('classname'); } 

但这并没有任何影响,也不会产生任何错误。

您需要在标记中指定id属性,如下所示:
<input id="reffield" name='referrer' type='text' class='input-xlarge placeholder' placeholder='Referrer' value='{$ref}' style='width:346px;'>

jQuery选择器找不到基于HTML的id为"reffield"的元素。

#reffieldid选择器。它根据元素的id属性的值来匹配元素。您的输入没有id属性,您应该设置一个属性:

<input id='referrer' name='referrer' type='text' 

未找到ID标签,

您需要在keydown Function或某些条件下编写脚本。

$('input').keydown(function(e){
        $("#reffield").css( { backgroundColor:"blue" } );
});

DEMO

此代码使用值更改每个输入类名!="

$('input[value!=""]').each(function() {
    this.className = "className";
});

如果你想用给定的id 更改一个特定的输入

<input id="reffield" value="..:" ../>

然后

$('#reffield[value!=""]')[0].className = "className";

如果您想根据名称更改特定输入

 // if ($('input[name="reffield"][value!=""]')[0])
       $('input[name="reffield"][value!=""]')[0].className = "classname"

您可以阅读选择器的文档

注意:你说的是"更改类"而不是"添加类"。在第二种情况下,您应该使用.addClass方法而不是.className属性