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

新手上路,请多包涵

我正在尝试使用 javascript 设置 div 元素的某些属性,但未设置属性,我在浏览器中使用了检查模式,它说:Uncaught TypeError: Cannot read property ‘style’ of undefined

我已经尝试使用 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>

原文由 Eduardo 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 474
2 个回答

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

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

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

原文由 Patrik Alexits 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

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

原文由 Josh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
Stack Overflow 翻译
子站问答
访问
宣传栏