我有一个重要的html元素的数量动态创建时,点击一个按钮。在JS中,它们看起来像这样:
var elementTVA = document.createElement('p');为了快速操作这些元素,我决定将它们存储在一个数组中,并使用一个for循环。
for (var i=0 ; i<=tableau.length ; i++) {
tableau[i].classList.add('list-element');
newRow.appendChild(tableau[i]);
};然而,当我尝试追加它们时,我得到了这个错误
未捕获TypeError:未能在“Node”上执行“”appendChild“”:参数%1不是“Node”类型。“”
是因为我将它们存储在数组中吗?
发布于 2017-09-14 00:43:24
在for循环中,您应该使用
for (var i=0; i < tableau.length; i++) {您应该检查i是否小于长度,而不是小于或等于。
数组的长度将比最大的索引大1,因为数组从0开始,所以当您访问tableau[ tableau.length ]时,您会得到undefined。
https://stackoverflow.com/questions/46202796
复制相似问题