TS写样式报错 Property 'style' dose not exist on type 'HTMLCollectionOf<Element>'

121 阅读1分钟

代码如下

private handelInput(val){
    const inputNum = document.getElementClassName('inputNum')
    if(val){
        inputNum.style.display = 'block'
    }else{
        inputNum.style.display = 'none'
    }
}

打印 inputNum,打印结果为 HTMLCollection [span.inputNum],展开之后:

HTMLCollection [span.inputNum]
0:span.inputNum
length:1
__proto__HTMLCollection

我们通过打印结果发现document.getElementClassName('inputNum')得到的是一个数组,而数组的第一位才是我门想要的,所以,需要取下标为0的值,就可以解决这个问题

const inputNum = document.getElementClassName('inputNum')[0]

private handelInput(val){
    const inputNum = document.getElementClassName('inputNum')[0]
    if(val){
        inputNum.style.display = 'block'
    }else{
        inputNum.style.display = 'none'
    }
}