我有一个包含一些禁用选项的下拉菜单。我想让所有选项都启用。
这是html:
<select id="selectId">
<option value="JavaScript" disabled="">JavaScript</option>
<option value="Angular">Angular</option>
<option value="Backbone" disabled="">Backbone</option>
</select>
Run Code Online (Sandbox Code Playgroud)
JavaScript :
var select = $("#selectId");
select.find("option").each(function(index, item) {
item.attr('disabled',false);
});
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:TypeError: item.attr is not a function。这里有什么问题?
更改属性(disabaled是属性而不是属性)的正确方法是使用prop,请参阅.prop() 与 .attr():
$("#selectId option").prop('disabled', false);Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select id="selectId">
<option value="JavaScript" disabled="">JavaScript</option>
<option value="Angular">Angular</option>
<option value="Backbone" disabled="">Backbone</option>
</select>Run Code Online (Sandbox Code Playgroud)
您可以设置,.attr('disabled',false);但这不适用于每个 HTML 元素。删除属性(禁用是属性而不是属性)的正确方法是prop.
您each也不会返回 jquery 对象,它返回一个普通的 DOM 元素,因此TypeError: item.attr is not a function.. item没有attr函数,因为它不是 jquery 对象。
| 归档时间: |
|
| 查看次数: |
3038 次 |
| 最近记录: |