我点击按钮后,使用以下选择器在输入元素上设置/删除已禁用的属性:
<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>
我目前面临的问题是.NET以一种可怕的方式呈现RadioButtonLists:
var x = face.vertexNormals[j].x;
var y = face.vertexNormals[j].y;
var z = face.vertexNormals[j].z;
所以,jQuery选择器正在上面的例子中找到输入,因为&#34; cascadeReset&#34; class被应用于表,而不是输入,它不会忽略它,因此正在删除&#34;禁用&#34;标签
现在,在任何人建议之前 - 不,我不能添加CSS类&#34; cascadeReset&#34;到输入元素。我看起来远远不够,.NET似乎并没有提供一种方法。我能做的最接近的是用带有类的span标签包装输入。
尽管如此,在我看来好像我应该能够修改我的jQuery选择器以某种方式仍然排除输入。
有什么想法吗?我能想到的最接近的是以某种方式告诉选择器查看父元素,但是A)我不确定如何编写它,并且B)它让我觉得很容易让这个适得其反并结束忽略了我不喜欢的元素。
答案 0 :(得分:0)
它可能是非常不可信的(至少在理论上;在一个小页面上它可能无关紧要)但你可以限制像.cascadeReset的孩子那样的输入:
$("input").not(".cascadeReset input");
适用于您的具体情况:
var parentElement = $("#startingClass");
parentElement.find(":input").not(".dont-enable").not(".cascadeReset input").removeAttr('disabled');