代码之家  ›  专栏  ›  技术社区  ›  Jonny

我试图从父容器中获取所有按钮ID,并始终获取最后一个

  •  0
  • Jonny  · 技术社区  · 6 年前

    我试图从父容器中获取子容器中所有ID的列表,并且一直只获取最后一个ID。如何获取包含所有ID的数组或字符串?这些按钮将由PHP动态创建,因此我实际上不知道会有什么ID。

    var childDivs = document.getElementById('onlineDrop').getElementsByTagName('button');
    for (var i = 0; i < childDivs.length; i++) { 
    childDiv = childDivs[i].id;
    }
    alert(childDiv);
    <div id="onlineDrop">
    <button id="222222"></button>
    <button id="333333"></button>
    <button id="444444"></button>
    </div>

    请不要jquery。事先谢谢。

    2 回复  |  直到 6 年前
        1
  •  3
  •   Barmar    6 年前

    将ID添加到数组中。

    var childDivs = document.getElementById('onlineDrop').getElementsByTagName('button');
    childIds = [];
    
    for (var i = 0; i < childDivs.length; i++) {
      childIds.push(childDivs[i].id);
    }
    console.log(childIds);
    <div id="onlineDrop">
      <button id="222222"></button>
      <button id="333333"></button>
      <button id="444444"></button>
    </div>
        2
  •  1
  •   Shidersz    6 年前

    另一种方法是 Array.from() 数组方法:

    var childDivs = document.getElementById('onlineDrop').getElementsByTagName('button');
    
    let ids = Array.from({length: childDivs.length}, (v, i) => childDivs[[i]].id);
    
    console.log(ids);
    <div id="onlineDrop">
    <button id="222222">B1</button>
    <button id="333333">B2</button>
    <button id="444444">B3</button>
    </div>