关键是 TS 在 querySelectorAll 方法之后返回了一个节点列表。将来,在 forEach 中进行迭代时,您必须将每个元素声明为 HTMLElement,以便访问诸如 classList 之类的方法。它看起来像这样:(element as HTMLElement).previousElementSibling。以及如何做到这一点element.previousElementSibling?我不明白。
它是:
const a = doc.querySelectorAll('.some').forEach((el) => (el as HTMLElement).classList.add('classes'));
我希望它变成:
const a = doc.querySelectorAll('.some').forEach((el) => el.classList.add('classes'));
querySelectorAll 采用多态类型参数,为了摆脱这个问题,你可以编写以下代码:
或者如果您需要在课程中使用: