JS错误:未被捕获的TypeError:无法读取未定义的属性“类型”

时间:2020-10-09 01:16:57

标签: javascript

这里的新手需要帮助!

我正在尝试访问附加到js中html元素的dataset.type,但每次都会收到此错误。它完美地拉动了阵列,但不会越过它。我知道这可能是一个简单的答案,但我无法弄清楚。

我的JS:

const houseCard = document.querySelectorAll('.home-cards');
const tabNodeList = document.querySelectorAll('.tab__link');
const houseTab = Array.from(tabNodeList);

console.log(tabNodeList);
console.log(houseTab.dataset.type);

我尝试访问的HTML:

<li><a data-type="house" class="tab__link active">Houses</a></li>
<li><a data-type="condo" class="tab__link">Condos</a></li>
<li><a data-type="duplex" class="tab__link">Duplexes</a></li>

这是我的错误:Error

现在,如果我起飞dataset.type,它会很好地拉出数组,并且您可以看到数据集和类型都在DOM中。 array DOM

1 个答案:

答案 0 :(得分:0)

您正在尝试访问HTML元素数组上的数据集,而数据集是在每个元素而不是数组上定义的。
而是这样做:

const houseTab = Array.from(tabNodeList);

for (const element of houseTab) {
   console.log(element.dataset.type);
}