Javascript 向每个列表元素添加一个按钮元素

Javascript 向每个列表元素添加一个按钮元素,javascript,Javascript,我想向每个列表元素(JavaScript)添加按钮元素 这是我的密码。我用了fro loop。在输出中,只有列表的最后一个元素获取button元素。我做错了什么 function createButtonElement() { var btn = document.createElement("button"); ` btn.appendChild(document.createTextNode("Delete Me")); var a = document.query

我想向每个列表元素(JavaScript)添加按钮元素

这是我的密码。我用了fro loop。在输出中,只有列表的最后一个元素获取button元素。我做错了什么

function createButtonElement() {
    var btn = document.createElement("button");   `

   btn.appendChild(document.createTextNode("Delete Me"));
   var a = document.querySelectorAll("li");

   for(var v =0; v<a.length;v++)
    {
      a[v].appendChild(btn);
    }   
}
函数createButtonneElement(){
var btn=document.createElement(“按钮”)`
btn.appendChild(document.createTextNode(“删除我”);
var a=document.queryselectoral(“li”);

对于(var v=0;v您需要为每个项目创建一个新按钮,否则按钮只会从一个项目移动到另一个项目,直到到达最后一个项目为止

函数createButtonneElement(){
var a=document.queryselectoral(“li”);

对于(var v=0;v而言,该行为记录在:

如果给定的子节点是对文档中现有节点的引用, appendChild()将其从当前位置移动到新位置 (不需要从其父节点中删除节点 在将其附加到其他节点之前)

相反,为循环中的每个
li
实例化一个新按钮:

函数createButtonneElement(){
var a=document.queryselectoral(“li”);
对于(var v=0;v
  • a
  • b
  • c

  • 单击
    您需要为每个li元素创建按钮

    function createButtonElement() {
      var a = document.querySelectorAll("li");
      for(var v =0; v<a.length;v++) {
        var btn = document.createElement("button");
        btn.appendChild(document.createTextNode("Delete Me"));
        a[v].appendChild(btn);
      }   
    }
    
    函数createButtonneElement(){
    var a=document.queryselectoral(“li”);
    
    对于(var v=0;v您只创建了一个按钮,并将其附加到第一个
  • ,然后将其附加到第二个
  • …因为他不能位于两个不同的位置。此命令将按钮移动到第二个位置,依此类推

    要复制,必须使用cloneNode方法:

    示例代码:

    const MyList=document.querySelector(“#我的列表”)
    ,AddButtons=document.querySelector(“#添加按钮”)
    AddButtons.onclick=\u=>
    {
    让newBt=document.createElement('按钮')
    newBt.textContent='删除我'
    document.queryselectoral(“#我的列表li”).forEach(eLI=>eLI.appendChild(newBt.cloneNode(true)))
    }
    MyList.onclick=e=>
    {
    如果(e.target.tagName.toLowerCase()!='button')返回
    设pLI=e.target.parentElement
    MyList.removeChild(pLI)
    }
    向列表中的每个元素添加按钮
    
    • 一,
    • 二,
    • 三,
    • 四,

    这是故意的吗?使用数组内部推送进行循环您需要为每个
    li
    元素创建一个不同的按钮,不要忘记在该循环中为其提供一个单击事件侦听器以及一个id或一些数据集信息,以便区分每个按钮