Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript如何使用特定类将元素附加到div_Javascript - Fatal编程技术网

Javascript如何使用特定类将元素附加到div

Javascript如何使用特定类将元素附加到div,javascript,Javascript,我有一些示例,其中我想将一些数据附加到具有特定类的子div,但我不确定如何执行该操作: 以下是我的JS代码: let items = document.querySelectorAll(".item"); items.forEach(function (item) { let textnode = document.createElement('p'); textnode.innerHTML = 'some text'; item.appendChild(textnode); })

我有一些示例,其中我想将一些数据附加到具有特定类的子div,但我不确定如何执行该操作:

以下是我的JS代码:

let items = document.querySelectorAll(".item");
items.forEach(function (item) {

  let textnode = document.createElement('p');
  textnode.innerHTML = 'some text';
  item.appendChild(textnode);
});

这实际上是可行的,但它只将textnode元素附加到现有元素上

当我尝试时:

document.getElementsByClassName('left').appendChild(textnode);
它不起作用

这是一个

编辑


我想将数据附加到.left元素

GetElementsByCassName返回元素数组。所以你需要使用索引

let x = document.getElementsByClassName('left')
x[0].appendChild(textnode)
这是有效的。
我已经更新了你小提琴上的密码。请签出getElementsByClassName返回多个元素。类名不是唯一的。因此,首先需要在该列表中选择一个元素

var textnode=document.createTextNodeTest; var节点=document.getElementsByClassName'left'; 节点[0]。appendChildtextnode;
似乎要将元素附加到item元素的.left子代。如果是这种情况,则可以使用querySelector而不是getElementsByClassName:


请注意,上面的代码将querySelector方法作为接口项实例的成员调用。

document.getElementsByCassName注意元素处的s。准确地说,您将获得一个节点列表。在元素内部循环它只将textnode元素附加到现有元素上-是的。这就是我所期望的。你想要什么?要让某个监视DOM的东西查找属于该类的新元素,然后在它们出现时添加段落,请重新编辑:我想将数据附加到.left元素-因此,请使用与工作代码中相同的方法执行此操作!可能重复:元素数组-节点列表不是数组。这是一个常见问题解答,因此如果这是答案,则应将其关闭为未给出该答案的另一个版本。getElementsByClassName是纯JS方法以节点列表对象的形式返回文档中具有指定类名的所有元素的数组。它是DOM,不是纯JS,在ECMAScript规范中找不到它,它也不会返回数组。它返回一个节点列表。节点列表不是数组。这是一个常见问题解答,因此,如果这是答案,则应将其关闭为“未提供其他版本的答案”。节点列表不是数组。@Quentin True my bad。
item.querySelector('.left').appendChild(textnode);