设置复选框节点列表的选中状态

noc*_*ist 2 javascript typescript

我有一个复选框的节点列表。如何将它们全部设置为检查?以下 forEach 不起作用the property checked does not exist on type element

let checkboxes = document.querySelectorAll('[id^="chkAddProposalProduct_"]');

checkboxes.forEach(c => { c.checked = true});
Run Code Online (Sandbox Code Playgroud)

HTML

<input type="checkbox" id="chkAddProposalProduct_{{product.productId}}">
Run Code Online (Sandbox Code Playgroud)

D. *_*dal 5

TypeScript 无法知道checkboxes只包含<input type="checkbox">元素。您可以拥有任何 ID 以 开头的元素chkAddProposalProduct_。所以,你需要告诉打字稿编译器checkboxes是一个NodeListHTMLInputElement对象,像这样:

let checkboxes = document.querySelectorAll('[id^="chkAddProposalProduct_"]') as NodeListOf<HTMLInputElement>;

checkboxes.forEach(c => { c.checked = true; });
Run Code Online (Sandbox Code Playgroud)