javascript - 查找给定元素的规范有效属性

标签 javascript jquery dom

我遇到了question today其中,部分用户希望在使用 jQuery 触发事件时禁用容器内的所有表单元素。

对于我的回答的一部分,我建议选择容器并查找表单元素,然后使用 .each() 迭代每个元素。

总的来说,选择器类似于:

$('.container').find('input, textarea, button, select');

我认为 find() 部分相当长,但这是我能想到的唯一根据 HTML 规范采用 disabled 属性的元素(如果还有更多,欢迎告知)。现在回答我的问题。

有没有办法遍历一组 DOM 元素(可能由 jQuery 返回,但 vanilla JS 也可以)并确定当前元素是否可以采用根据 HTML 规范有效的属性? IE。我有一组元素,在一次迭代中我得到了一个 strong 元素。 disabled 不会对 strong 元素执行任何操作,因此它会跳过该元素并转到 input 元素,该元素 disabled 为之工作。

最佳答案

没有。浏览器不提供 API 来确定哪些元素/属性有效。它们还提供了许多错误恢复功能,因此通过创建具有属性的元素并查看它们会发生什么来进行测试并不可靠。

您需要与规范进行比较。

HTML 4 和 XHTML 1.x 具有 DTD,您可以为其编写解析器。

关于javascript - 查找给定元素的规范有效属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16650949/

相关文章:

javascript - 仅在模糊或松散焦点时验证输入

javascript - javascript中分号的使用

javascript - 多重约束复杂数据的最佳组合算法

javascript - 如何结合使用 anchor 标记和routeParams通过ID获取JSON

javascript - 你如何使溢出的 float 元素居中?

jQuery 为找到的每个元素运行代码

javascript - 如何在 Angular 6+ 中正确将事件监听器附加到全局 'window'?

javascript - 如何删除在 tinymce 中自动添加的 p 标签

javascript - javascript函数之间的差异

javascript - 将复杂的错误对象映射到其关联的输入字段