开发者问题收集

未捕获的类型错误:无法读取 javascript 中未定义的属性“style”

2019-08-28
102796

我尝试使用 javascript 设置 div 元素的某些属性,但这些属性未被设置,我在浏览器中使用了检查模式,它显示: 未捕获 TypeError:无法读取未定义的属性“style”

我已经尝试使用 ID 属性来获取元素,甚至使用 querySelector 方法,但没有任何变化

<body>
    <div id="app">
        <div class="box"></div>
    </div>

    <script>
        var boxElement = document.getElementsByClassName('.box')[0];

        boxElement.style.width = 100;
        boxElement.style.height = 100;
        boxElement.style.backgroundColor = '#f00';
    </script>
   </body>
3个回答

getElementByClassName 表示选择器的名称是一个类,因此您不需要在它前面加点。就像您不需要 getElementById 中的 # 一样。

var boxElement = document.getElementsByClassName('box')[0];

编辑:正如其他人已经指出的那样,不需要 getElementByClassName() 函数,您只需使用 querySelector() 函数即可避免结果为数组。

Patrik Alexits
2019-08-28

语法不正确。删除 getElementsByClassName('.box') 中的 .

如果您想使用类选择器,可以使用 document.querySelectorAll('.box')

Josh
2019-08-28

使用此(按ID名称):

307566188

html:

219505165

或使用此(按类名):

300338199

html:

506232918
Yashar Azadvatan
2019-08-28