javascript - 使用 document.getElementsByClassName() 而不是 id

标签 javascript

当我使用 document.getElementById("stuff") 尝试以下操作时,一切正常。

但是当我尝试使用 document.getElementsByClassName("stuffClass") 执行相同操作时,它不起作用。

如何使用 class 而不是 id 来实现此功能?

//var element = document.getElementById("stuff");
var element = document.getElementsByClassName("stuffClass");
var bb = element.getBBox();
var vb = bb.x+" "+bb.y+" "+bb.width+" "+bb.height;
element.setAttribute("viewBox", vb);

最佳答案

getElementByClassName 返回一个 NodeList,而不是单个元素。您需要对其进行索引:

var element = document.getElementsByClassName("stuffClass")[0];

或者如果有多个具有相同类的元素,则需要对其进行循环。

您还可以使用document.querySelector:

var element = document.querySelector(".stuffClass");

关于javascript - 使用 document.getElementsByClassName() 而不是 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29955431/

相关文章:

javascript - 在 Javascript 中递归创建子属性

javascript - Bootstrap-Table 插件,按初始搜索值过滤

javascript - 如何在 Electron 中打开新窗口代替当前窗口

javascript - 接收 var 声明字符串,只保存值

javascript - Node.js - 使用异步库 - async.parallel 传递数组

javascript - AWS Lambda执行环境预装了哪些NPM模块?

javascript - 有没有办法用 Backbone 捕获所有不匹配的路由?

javascript - 使用 python-flask 压缩和上传图像

javascript - jquery 在 select 中循环项目时转义特殊字符

javascript - 如何计算点击次数并在循环javascript中更改其值?