是否可以将Node
或Element
细化为特定的HTML元素类型?例如:
function htmlToEntity: (node: HTMLAnchorElement | Node) {
if (node.tagName === "A") {
return createEntity(
"LINK",
"MUTABLE",
{ url: node.href }, // Throws error
);
}
return undefined;
}
它抛出的错误是:
无法获取
中缺少属性node.href
,因为href
Node
答案 0 :(得分:0)
您应该可以使用instanceof
来优化它。
function htmlToEntity(node: HTMLAnchorElement | Node) {
if (node instanceof HTMLAnchorElement) {
return createEntity(
'LINK',
'MUTABLE',
{ url: node.href } // Does not throw error
)
}
return undefined
}