2

我有这个选择框:

<select class="slctbx condition-Combiner" onchange="updateConditionBuilder()" style="color: rgb(153, 153, 153);" disabled="disabled">

我正在使用:

$('#rule-condition-listing tr:last-child .condition-Combiner').removeAttr("style","#999999").removeAttr("disabled","disabled");

所以它实际上删除了 disabled 属性而不是 color 属性

4

5 回答 5

2

您必须将属性名称传递给,removeAttr() 您传递的名称具有不正确语法的值,请检查removeAttr() 此处的语法。您可以使用css()设置颜色属性。

$('#rule-condition-listing tr:last-child .condition-Combiner').css("color","").removeAttr("disabled","disabled");

除了使用 removeAttr 来启用元素,您还可以使用 .attr('disabled', false);

于 2013-04-10T07:23:36.627 回答
2

.css() - 获取匹配元素集中第一个元素的样式属性值,或为每个匹配元素设置一个或多个 CSS 属性。

$('#rule-condition-listing tr:last-child .condition-Combiner').
  css("color","#999999").
   removeAttr("disabled","disabled");

或者

$('#rule-condition-listing tr:last-child .condition-Combiner').
  css("color","").
   removeAttr("disabled","disabled");
于 2013-04-10T07:24:22.210 回答
2

如 jquery Api 文档中所述, removeAttr - 函数仅接受 1 个条件。所以如果你做类似的事情

$('#rule-condition-listing tr:last-child .condition-Combiner').removeAttr("style","#999999").removeAttr("disabled","disabled");

这意味着您删除了元素上的样式,并丢弃了“#999999”。禁用部分也是如此。

我希望它有所帮助。

亲切的问候,亚历克斯

于 2013-04-10T07:27:30.200 回答
2

不要将属性与样式混合。

在 Jquery 中,您应该使用.css()属性来处理样式,所以这应该可以工作

$('#rule-condition-listing tr:last-child .condition-Combiner').css("style","").removeAttr("disabled","disabled");
于 2013-04-10T07:29:09.980 回答
2

用这个:

$('#rule-condition-listing tr:last-child .condition-Combiner').css("color","").removeAttr("disabled","disabled");
于 2013-04-10T07:33:19.270 回答