在jQuery中,我们经常需要动态地禁用或启用表单元素(如select选项)。当某些选项被禁用后,有时需要将它们重新启用。这涉及到DOM操作和属性管理。
// 启用select中所有被禁用的option
$('select').find('option:disabled').prop('disabled', false);
// 启用特定值的option
$('select option[value="someValue"]').prop('disabled', false);
// 启用包含特定类的option
$('select option.someClass').prop('disabled', false);
<select id="mySelect">
<option value="1">选项1</option>
<option value="2">选项2</option>
<option value="3">选项3</option>
</select>
<button id="disableBtn">禁用选项2</button>
<button id="enableBtn">启用所有选项</button>
<script>
$(document).ready(function() {
// 禁用选项2
$('#disableBtn').click(function() {
$('#mySelect option[value="2"]').prop('disabled', true);
});
// 启用所有被禁用的选项
$('#enableBtn').click(function() {
$('#mySelect option:disabled').prop('disabled', false);
});
});
</script>
.attr()
而不是.prop()
方法。在jQuery 1.6+中,对于布尔属性(如disabled),应该使用.prop()
方法。.prop('disabled', false)
而不是.attr('disabled', false)
.prop()
而不是.attr()
来操作disabled属性没有搜到相关的沙龙