如何使用jQuery更改文本框的背景颜色?

21

如何使用 jQuery 更改文本框的背景颜色?


请参见以下链接:http://stackoverflow.com/questions/18445711/jquery-mobile-set-textbox-background - liftarn
4个回答

45
更好的做法是将UI与逻辑分离,针对您的情况:
$("#textboxid").addClass("aClass");
如果你确实需要按照自己的方式去做,那么请按照以下步骤进行:
$("#textboxid").css({"background-color": "color"});

#textboxid替换为所需的选择器,将color替换为所需的颜色。

请注意,以下内容对于一个属性也是一样的:

$("#textboxid").css("background-color", "color");

1
不需要在js中硬编码呈现方式。使用Css进行样式设计,使用js进行行为控制。 - redsquare

10
$('#txtBoxID').css('background-color', '#ffff00');

8
最好给输入框添加一个类名,而不是在js中硬编码样式。演示样式应该存在于css而不是js中。
$('#inputId').addClass('someCssClass');

这也是你现在正在做的事情。我认为你应该添加一个语义类,而不是backgroundRed,我将其视为反模式。也许这里的代码是UI代码。 - Dykam
啊,你修改了这个示例。但是对于用户界面的JS可能更合适。 - Dykam
1
JS用于行为,而不是添加CSS。为什么要让它变得更困难,而不是使用addClass? - redsquare
“why” 是语义的部分,是这样吧?所以 addClass('highlight'); 对于 JavaScript 来说是一件合适的事情,然后样式表会指定它的外观。现在,你可以用任何随机描述替换 “highlight”,但是这个函数是相同的。 - DGM
但是你最初的回答没有展现出这些想法。现在你成为了专家;) - redsquare
显示剩余2条评论

0
最好不要使用 jQuery。我假设你想在焦点或失焦时执行此操作,所以你可以这样做:
#textboxid {background-color:defaultcolor;}
#textboxid:focus {background-color:selectedcolor;}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接