如何检查DOM元素和/或属性是否有效?

Bob*_*ijt 6 html javascript 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...
Run Code Online (Sandbox Code Playgroud)

* =不确定这是否称为DOM模式

PS:
在我的示例中,我使用的是JS,但请考虑此问题与脚本语言无关。

Ori*_*iol 6

大多数内容属性由具有相同名称的IDL属性(即属性)反映

那些IDL属性在元素从其继承的接口中作为访问器属性(即getter和setter)实现。

因此,您可以创建所需类型的元素并检查其是否具有所需属性:

'src' in document.createElement('div'); // false
'src' in document.createElement('img'); // true
Run Code Online (Sandbox Code Playgroud)

注意IDL属性不区分大小写,并且某些名称与内容属性名称不同,例如,您应选择className而不是class