【发布时间】:2018-04-25 06:28:03
【问题描述】:
我正在使用以下选择器在我的输入元素上设置/删除禁用的属性,点击按钮:
var parentElement = $("#startingClass");
parentElement.find(":input").not(".dont-enable").not(".cascadeReset").removeAttr('disabled');
我目前面临的问题是 .NET 以一种糟糕的方式呈现 RadioButtonLists:
<div id="startingClass">
<table class="cascadeReset" id="tableID">
<tbody>
<tr>
<td>
<input name="generatedID" disabled="disabled" id="generatedID" type="radio" value="12">
<label for="generatedID">Alternate</label>
</td>
</tr>
</tbody>
</table>
</div>
因此,jQuery 选择器在上面的示例中查找输入,并且因为“cascadeReset”类被应用于表,而不是输入,所以它没有忽略它,因此删除了“禁用"标签。
现在,在任何人建议之前 - 不,我不能将 CSS 类“cascadeReset”添加到输入元素。我已经看得很远了,.NET 似乎没有提供这样做的方法。我能做的最接近的方法是使用具有类的 span 标签包装输入。
不过,在我看来,我似乎应该能够修改我的 jQuery 选择器以某种方式仍然排除输入。
有什么想法吗?我能想到的最接近的方法是以某种方式告诉选择器查看父元素,但是 A)我不知道如何写,B)我觉得很容易适得其反并最终忽略元素我宁愿不要。
【问题讨论】: