用于HTMLCollectionOf <element>的TypeScript set css样式,NodeCollection <element>,google自动填充表单

时间:2018-01-04 10:48:26

标签: javascript html css typescript

如何为HTMLCollectionOf或NodeCollection设置css样式

 let items = document.querySelectorAll('.pac-item') as NodeListOf<HTMLElement>;

enter image description here

对于HTMLElement设置样式工作正常 enter image description here

3 个答案:

答案 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';
        }