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

Javascript 设置节点列表复选框的选中状态,javascript,typescript,Javascript,Typescript,我有一个复选框节点列表。如何将它们全部设置为检查?以下forEach不起作用,因为类型元素上不存在选中的属性 let checkboxes = document.querySelectorAll('[id^="chkAddProposalProduct_"]'); checkboxes.forEach(c => { c.checked = true}); HTML TypeScript无法知道复选框只包含元素。您可以拥有ID以chkAddProposalProduc

我有一个复选框节点列表。如何将它们全部设置为检查?以下forEach不起作用,因为类型元素上不存在选中的属性

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

checkboxes.forEach(c => { c.checked = true});
HTML


TypeScript无法知道
复选框只包含
元素。您可以拥有ID以
chkAddProposalProduct\uuu
开头的任何元素。因此,您需要告诉TypeScript编译器,
复选框
HTMLInputElement
对象的
节点列表
,如下所示:

let checkboxes=document.querySelectorAll('[id^=“chkAddProposalProduct_quo;])作为NodeListOf;
forEach(c=>{c.checked=true;});

这听起来像是打字脚本问题。
=
用于比较。如果要设置属性,请使用
=
。通常人们会犯相反的错误,我想我从未见过这样的情况。您确定选择的是复选框,而不是包含它们的DIV吗?将HTML添加到您的问题中。@GalaxyCat105我可以在控制台中调试
复选框
,并使用
复选框[0]
等访问任何复选框的checked属性。我的
forEach
是否有任何问题?谢谢您的帮助!是否有更好的方法来检查TypeScript中以ID开头的所有复选框?如果您想额外确保只选中复选框,可以将选择器更改为
input[type=checkbox][ID^=“chkAddProposalProduct_389;”]
<input type="checkbox" id="chkAddProposalProduct_{{product.productId}}">