我有一个元素数组:
换句话说:
如何根据 DOM 模式验证 DOM 对象是否有效?* 例如(基于上述元素和属性):
var elements = ['div', 'a', 'p', 'foo']
我还有一个属性数组:var attributes = ['src', 'href', 'quux', 'id']
我想知道如何验证上述组合是否会生成有效的 DOM 对象。换句话说:
如何根据 DOM 模式验证 DOM 对象是否有效?* 例如(基于上述元素和属性):
DOM_result = '<div src />'; // = false
DOM_result = '<div href />'; // = false
DOM_result = '<div quux />'; // = false
DOM_result = '<div id />'; // = true
DOM_result = '<a src />'; // = false
DOM_result = '<a href />'; // = true
DOM_result = '<a quux />'; // = false
DOM_result = '<a id />'; // = true
etc...
* = 不确定这是否称为DOM模式。
注:
在我的例子中,我使用的是JS,但请考虑这个问题与脚本语言无关。
document.createElement()
显示为对象吗?这样我就可以看到它的所有内容了。 - Bob van Luijtfor(var prop in document.createElement('div')){ console.log(prop) }
- OriolcreateElement
还是createElementNS
(即命名空间版本),都是如此。循环遍历“rect”元素的所有属性显示document.createElement(NS)
确实返回属性名称列表,但仅像“id”等那些,而不是特定于SVG的属性,例如“fill”。有人有什么建议吗?我在这里提出了一个相关问题(https://stackoverflow.com/q/46410518/5218951)。 - Andrew Willems