如果输入因是禁用字段集的子项而被禁用,则 IE(甚至 11)似乎没有任何方法来确定它已被禁用。有没有什么方法可以在不搜索树的情况下确定这一点?
显然,我可以使用 jQuery 来查找最接近的字段集,并检查它是否已禁用(如果存在),但这似乎很麻烦,更不用说可能很昂贵。我可以查看 currentStyle 来确定它是否是灰色的 - 但这更加hacky。我错过了什么吗?
<fieldset disabled>
<input id="fieldset_child" type="text" value="Inherit Disabled" />
</fieldset>
<script>
// IE 9-11 returns zero instead of one like Firefox and Chrome do
console.log(document.querySelectorAll('#fieldset_child:disabled').length);
// this return false in all browsers
console.log(document.getElementById('fieldset_child').disabled);
</script>
Run Code Online (Sandbox Code Playgroud)
示例: http: //jsfiddle.net/cmcnulty/ySWH2/