Javascript 无法设置属性';颜色';未定义的

Javascript 无法设置属性';颜色';未定义的,javascript,jquery,Javascript,Jquery,我正试图创建一个基于验证的自定义错误消息和样式(我知道插件,但协调验证插件和Materialize所花费的时间对于单个字段来说太多了) HTML: 数量 真正地 JS: $('#数量')。更改(函数(){ var$Qty=$(this.val(); 变量$Label=$(“#数量错误”); 如果($Qty>0&&$Qty$Label是一个jQuery对象,而不是一个标准的节点元素,那么您可以执行$Label[0]。style.color='#8e8ef5';或$Label.css('colo

我正试图创建一个基于验证的自定义错误消息和样式(我知道插件,但协调验证插件和Materialize所花费的时间对于单个字段来说太多了)

HTML:


数量
真正地
JS:

$('#数量')。更改(函数(){
var$Qty=$(this.val();
变量$Label=$(“#数量错误”);

如果($Qty>0&&$Qty
$Label
是一个jQuery对象,而不是一个标准的节点元素,那么您可以执行
$Label[0]。style.color='#8e8ef5';
$Label.css('color','#8e8ef5');
.style
是一个元素的属性。通过jQuery,您可以将该元素保存在数组中。更像[elem]。因此,请使用:

$Label.css('color', '#f96d63');


但是第一个更像jQueryish。

尝试
$Label.css({color:''8e8ef5'});
您的问题是,您试图访问jQuery对象上的DOM属性
style
,这就是为什么
无法设置未定义的
属性“color”

在您的代码中,
$Label
是一个jQuery对象,没有
style
属性,因为
.style
是一个DOM对象属性,所以您不能将其与jQuery对象一起使用

您需要改用方法:

$Label.css('color', '#8e8ef5');

有关更多详细信息,请阅读

当未能将样式正确绑定到元素时,会出现此错误。例如,在AngularJS中
{{variable.time}}
这将返回无法设置未定义的属性颜色。您应该执行此操作

$Label.css('color', '#f96d63');
$Label.get(0).style.color = '#8e8ef5';
$Label.css('color', '#8e8ef5');