javascript - 在 JavaScript 中追加元素时出现奇怪的错误

标签 javascript jquery appendchild

我在 JavaScript 中尝试附加元素时遇到了问题,我遇到的错误看起来有点像这样:

Uncaught TypeError: Failed to execute appendChild on Node: parameter 1 is not of type Node.

我还使用了一个名为 Interact.jsframework 让你知道

这是浏览器不满意的一段代码:

var tempText = [];
var classNum = event.relatedTarget.getElementsByClassName('text');
var newCont = document.createElement('div');
for(var i = 0; i < classNum.length; i++){
    tempText.push(event.relatedTarget.getElementsByClassName('text')[i].textContent);
}
for(var i = 0; i < tempText.length; i++){
    var pText = document.createElement('p').appendChild(tempText);
    newCont.appendChild(pText[i]);

}

var placement = document.getElementById('toolbar')[0];
placement.appendChild(newCont);

最佳答案

我刚刚注意到一个小错误。 document.getElementById 仅返回一个对象。所以不要使用 [0]:

var placement = document.getElementById('toolbar'); // There is no [0]. Remove it.
placement.appendChild(newCont);

但是使用 jQuery 真的很容易完成整个事情。由于您可以使用 jQuery 解决方案,请继续阅读。请通过添加以下内容来包含 jQuery 库:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

JavaScript 将是:

var tempText = [];
var classNum = event.relatedTarget.getElementsByClassName('text');
var newCont = document.createElement('div');
for (var i = 0; i < classNum.length; i++) {
  tempText.push(event.relatedTarget.getElementsByClassName('text')[i].textContent);
}
for (var i = 0; i < tempText.length; i++) {
  // Change here:
  var pText = $("<p />", {html: tempText});
  $(newCont).append(pText);
}

var placement = $('#toolbar');
placement.append(newCont);

由于我不知道底层的 HTML,所以我只是猜测并将一些转换为 jQuery。

关于javascript - 在 JavaScript 中追加元素时出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41518863/

相关文章:

javascript - 粘性或固定覆盖到可滚动 div 的可见区域 - JavaScript

javascript - 在 PHP foreach 循环/数组中使用多个复选框时,在复选框单击上显示 tr id

javascript - CRM 2011 - 从 IFrame 中的页面打开弹出窗口

php - Ajax定时刷新/PHP/MySQL

javascript - 如何使用纯 javascript 为嵌套在带有 id 的 div 中的 a-tags 设置样式

javascript - 单击按钮时的 JQuery 文本替换

javascript - AJAX:将 <li> 添加到现有的

javascript - 如何使 d3 div 工具提示可滚动?

javascript - 每四个段落创建和更改 h1 标签(h1 内容包含段落的前十个元素)

javascript - 使用 appendChild 将图像添加到元素会产生错误