首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JS数组:未能在'Node‘上执行'appendChild’:参数1不是‘Node’类型

JS数组:未能在'Node‘上执行'appendChild’:参数1不是‘Node’类型
EN

Stack Overflow用户
提问于 2017-09-14 00:39:37
回答 1查看 304关注 0票数 0

我有一个重要的html元素的数量动态创建时,点击一个按钮。在JS中,它们看起来像这样:

代码语言:javascript
运行
复制
var elementTVA = document.createElement('p');

为了快速操作这些元素,我决定将它们存储在一个数组中,并使用一个for循环。

代码语言:javascript
运行
复制
for (var i=0 ; i<=tableau.length ; i++) {
        tableau[i].classList.add('list-element');
        newRow.appendChild(tableau[i]);
    };

然而,当我尝试追加它们时,我得到了这个错误

未捕获TypeError:未能在“Node”上执行“”appendChild“”:参数%1不是“Node”类型。“”

是因为我将它们存储在数组中吗?

EN

回答 1

Stack Overflow用户

发布于 2017-09-14 00:43:24

for循环中,您应该使用

代码语言:javascript
运行
复制
for (var i=0; i < tableau.length; i++) {

您应该检查i是否小于长度,而不是小于或等于。

数组的长度将比最大的索引大1,因为数组从0开始,所以当您访问tableau[ tableau.length ]时,您会得到undefined

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46202796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档