0

我正在尝试通过 getElementsByClassName/querySelectorAll 函数访问我的元素,但我不明白当我尝试从结果中获取元素时会发生什么。

var cells = document.getElementsByClassName('mapAtt');
console.log(cells); // [item: function]
console.log(cells[0]);  //  undefined
console.log(cells.item(0)); //  none
console.log(cells.length);  //  0

var cells2 = document.querySelectorAll(".mapAtt");
console.log(cells2);    // [item: function]
console.log(cells2[0]); //  undefined
console.log(cells2.item(0));    //  none
console.log(cells2.length); //  0

我读到这两个函数的返回不是数组而是 nodeList,但即使使用 item 函数,它也不起作用。

cells1 和 cells2 向我展示了正确的东西,一个包含 22 个元素的列表,但我无法使用 array/nodeList 方法访问它们。

元素是用 d3.js 创建的,但如果我不说错误,它应该是创建良好的 HTML DOM 元素。那么为什么它不起作用呢?

4

0 回答 0