如何为HTMLCollectionOf或NodeCollection设置css样式
let items = document.querySelectorAll('.pac-item') as NodeListOf<HTMLElement>;
答案 0 :(得分:1)
打字稿定义表明HTMLCollectionOf
是HTMLCollection的扩展,您需要迭代它以访问各个元素。
interface HTMLCollectionOf<T extends Element> extends HTMLCollection {
item(index: number): T;
namedItem(name: string): T;
[index: number]: T;
}
我希望这会有所帮助。 :)
答案 1 :(得分:1)
您正在使用HtmlCollectionOf
,因此它是一个集合,一个集合包含许多项目。因此,items.style.background
不起作用,因为它属于HtmlElement
。
换句话说,您必须遍历集合以应用于每个HtmlElement
。或者您可以申请特定的一个,如下所示,我认为这是您正在尝试做的事情
items[0].style.background = '#2B2B2B';
答案 2 :(得分:1)
感谢他们! 我的失败......那是元素的集合......通过itteration解决了它
var items:any = document.getElementsByClassName('pac-item');
for (let i = 0; i < items.length; i++) {
let element = items[i];
element.style.background = '#2B2B2B';
element.style.color = '#DEDEDE';
}