提问者:小点点

在javascript中的文本节点中添加内联标记


嗨,这可能很容易,但我是新的和刚刚学习,我需要两个问题的帮助

首先,在使用document.createElement()创建元素时,如何向该元素添加class或id

----找到了一个解决className=“”或id=“”问题的方法,方法是添加一个变量来区分来自我添加并命名为id的数组的数据---------

其次,使用createTextNode()避免使用innerHTML如何在

假设我有一个条目数组=[{id:“item-1”,名称:“Apple”,价格:1},{id:“item-2”,名称:“Mango”,价格:3}];

我想把它们和

items.forEach(item => {
                   let container = document.createElement("div"),  //here i want to add a defined id for further use
                       itemData = document.createTextNode(
                                  `item name : ${item.name} price: ${item.price}`); //here i want to add the br
    container.appendChild(itemData);
    container.id = item.id;
    data.appendChild(container);
};

共1个答案

匿名用户

你的意思是这样的吗:

container.appendChild(document.createElement("br"));

null

let base = document.querySelector(".base");

let items = [{
  id: "item-1",
  name: "apple",
  price: 1
}, {
  id: "item-2",
  name: "mango",
  price: 3
}];

items.forEach(item => {
  let container = document.createElement("div"), //here i want to add a defined id for further use
    itemData = document.createTextNode(
      `item name : ${item.name} price: ${item.price}`); //here i want to add the br
  container.appendChild(itemData);
  container.appendChild(document.createElement("br")); // <-- Add the line break to the node element
  container.id = item.id;
  base.appendChild(container);
});
<div class="base"></div>