我正在寻找一种方法来获取javascriptHTMLElement
中的所有孩子。HTMLElement
我使用过childNodes
,但我无法将 aNodeList
转换为 an Array.<HTMLElement>
,因为它们不是彼此的子类型(我正在使用 Google Closure Compiler 来强制键入)。
这是一个返回警告的示例:
/** @type {Array.<HTMLElement>} */
var kids = /** @type {Array.<HTMLElement>} */ (document.childNodes);
它返回
test.js:2: WARNING - invalid cast - must be a subtype or supertype
from: NodeList
to : (Array.<(HTMLElement|null)>|null)
var kids = /** @type {Array.<HTMLElement>} */ (document.childNodes);
^
因为childNodes
不是HTMLElements
我能理解警告,但有解决办法吗?
=== 编辑 ===
令人惊讶的是,我将 aNode
转换为HTMLElement
. 问题来自将 aNodeList
转换为Array.<Node>
.