TS中报错说style在element类型中不存在怎么办


我用queryselectorall去获取一个dom元素集合,然而在编译时却报错说property 'style' does not exist on type 'element'。在控制台里看block集合里各个元素是有style属性的,但是用for循环去遍历就没了。求各位大神指教一下,是不是要转类型,或者是要用foreach去遍历?

用的是typescript。

代码:


        var winWidth = document.body.clientWidth;

        var height = winWidth*1.23;

        let block = document.querySelectorAll(".block");

        for(var i=0;i<block.length;i++){

            block.item(i).style.height = height + "px";

        }


九州编程
浏览 5567回答 2
2回答

qq_花开花谢_0

这是typescript的类型检查导致的,需要在你的querySelectorAll方法前面加个类型断言就好了,如下let&nbsp;block&nbsp;=&nbsp;document.querySelectorAll(".block")&nbsp;as&nbsp;NodeListOf<HTMLElement>;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript