Javascript 查找给定元素的规范有效属性
我遇到了一个问题,在某种程度上,用户希望在使用jQuery触发事件时禁用容器中的所有表单元素 作为我回答的一部分,我建议选择容器并查找表单元素,然后使用Javascript 查找给定元素的规范有效属性,javascript,jquery,dom,Javascript,Jquery,Dom,我遇到了一个问题,在某种程度上,用户希望在使用jQuery触发事件时禁用容器中的所有表单元素 作为我回答的一部分,我建议选择容器并查找表单元素,然后使用.each()对每个元素进行迭代 总的来说,选择器与此类似: $('.container').find('input, textarea, button, select'); 我认为find()部分相当长,但根据HTML规范,这些是我能想到的唯一使用disabled属性的元素(如果有更多,请随时通知我)。现在回答我的问题 是否仍然需要迭代一组D
.each()
对每个元素进行迭代
总的来说,选择器与此类似:
$('.container').find('input, textarea, button, select');
我认为find()
部分相当长,但根据HTML规范,这些是我能想到的唯一使用disabled
属性的元素(如果有更多,请随时通知我)。现在回答我的问题
是否仍然需要迭代一组DOM元素(可能是由jQuery返回的,但也可以使用),并确定当前元素是否可以采用根据HTML规范有效的属性?也就是说,我有一组元素,在其中一次迭代中,我得到一个
strong
元素disabled
对strong
元素没有任何作用,因此它跳过该元素并转到一个input
元素,该disabled
元素适用于该元素 否。浏览器不提供用于确定哪些元素/属性有效的API。它们还提供了许多错误恢复功能,因此通过创建具有属性的元素并查看发生了什么来进行测试是不可靠的
您需要与规范进行比较
HTML4和XHTML1.x都有DTD,您可以为它们编写解析器。Cut and dry。谢谢也许我会写一个插件。