![](/img/trans.png)
[英]Using Knockout & Typescript. How can I change the value of an Observable from its subscription?
[英]TypeScript. How can I declare a DOM Collection?
我努力了:
let $inputsCollection:HTMLCollection = document.body.querySelectorAll('input');
let $inputsCollection:HTMLCollection = document.body.querySelectorAll('input') as HTMLCollection;
let $inputsCollection = document.body.querySelectorAll('input') as HTMLCollection;
我尝试了几种方法,但没有任何效果。
querySelectorAll
不返回HTMLCollection
而是NodeList
。 试图将NodeList
转换为HTMLCollection
没有意义。 您可以这样做:
let $inputsCollection: NodeListOf<HTMLInputElement> =
document.body.querySelectorAll('input');
上面的案例使用HTMLInputElement
因此列表中的所有元素都必须来自HTML中的input
元素。 对于从查询中获取异构元素的情况,可以执行以下操作:
let $inputsCollection: NodeListOf<Element> =
document.body.querySelectorAll('*');
尽管querySelectorAll
无法返回这样的节点,这甚至允许除Element
对象之外的其他类型的节点:
let $inputsCollection2: NodeList = document.body.querySelectorAll('*');
仅供参考,返回HTMLCollection
对象的方法是.getElementsBy...
方法族( .getElementsByClassName
, .getElementsByTagName
等)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.