如果您在下面编写代码:
const e = document.body.firstChild;
if (e.nodeType === Node.TEXT_NODE)
console.log(e.data);您将在e.data上得到这个错误
TS2339:属性“数据”不存在于“儿童节点”类型上。
如果条件为true ( data ),那么e除了常规的ChildNode属性之外,还有其他一些属性,如e.nodeType === Node.TEXT_NODE和wholeText.。
我应该转换到什么类型(any除外)?
发布于 2019-05-19 17:49:11
我认为您应该基于nodeName编写您的condinition,因此它将返回文本节点的"# text“。
您要在CharacterData中寻找的接口是,或者仅仅是Text接口上的,您将同时拥有data和wholeText属性,因为它实现了characterData接口。在characterData抽象接口上,您只有data支柱。
https://stackoverflow.com/questions/55821761
复制相似问题