-1

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

例子:

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

目前,我正在这样做:

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

但这没有任何效果,也不会产生任何错误。

4

4 回答 4

4

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

您的 jQuery 选择器无法根据您的 HTML 找到 ID 为“reffield”的元素。

于 2013-08-27T15:56:35.463 回答
1

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

<input id='referrer' name='referrer' type='text' 
于 2013-08-27T15:57:19.123 回答
0

没有找到 ID 标签,并且

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

$('input').keydown(function(e){

        $("#reffield").css( { backgroundColor:"blue" } );

});

演示

于 2013-08-27T15:58:19.793 回答
0

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

$('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属性

于 2013-08-27T16:00:12.857 回答