<分区>
请注意,.attributes
仅获取当前属性,这不是本题的目的。
我想要一种获取 DOM 元素的所有 属性的方法。不仅是现在的,还有将来可能的。
具体用例是在 SVGElement
中找到 HTMLElement
中不存在的潜在属性 - MDN 上有一个列表 (SVG Attribute reference),但是,出于显而易见的原因,硬编码不是一个好主意。
我最初的想法是遍历每个实例的原型(prototype)链并比较两个列表(对事件处理程序进行基本过滤),但这实际上并没有给出潜在的 svg 属性。
编辑
- 重要说明 - 将您的答案代码粘贴到此页面的控制台中并使用
document.body
作为目标应该会显示超过 50 个属性的列表,包括contentEditable
、contextMenu
、dir
、style
等 - 这也需要跨浏览器工作。