Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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 将HTML元素推送到数组中,以便稍后将它们附加到一个div中,该div也是动态创建的_Javascript_Html_Arrays_For Loop_Dynamic - Fatal编程技术网

Javascript 将HTML元素推送到数组中,以便稍后将它们附加到一个div中,该div也是动态创建的

Javascript 将HTML元素推送到数组中,以便稍后将它们附加到一个div中,该div也是动态创建的,javascript,html,arrays,for-loop,dynamic,Javascript,Html,Arrays,For Loop,Dynamic,我有一些动态创建的元素。 我想将这些元素推送到一个数组中,以便能够循环所有元素,并为每个元素分配一个属性 问题是,如果我像这样声明一个数组var-array=[]我无法将HTML元素推送到它。控制台日志显示: 无法读取未定义的属性“push” 如果我像这样声明数组var数组则我无法将元素推送到它 这是我想要的。 var listgroupdiv = document.createElement("div"); var listgroupdiv1 = document

我有一些动态创建的元素。 我想将这些元素推送到一个数组中,以便能够循环所有元素,并为每个元素分配一个属性

问题是,如果我像这样声明一个数组
var-array=[]我无法将HTML元素推送到它。控制台日志显示:

无法读取未定义的属性“push”

如果我像这样声明数组
var数组则我无法将元素推送到它

这是我想要的。

var listgroupdiv  = document.createElement("div");
    var listgroupdiv1 = document.createElement("div");
    var listgroupdiv2 = document.createElement("div");


    var ListGroupClass = document.createAttribute("class");
    ListGroupClass.value = "row";
    listgroupdiv.setAttributeNode(ListGroupClass);
    var ListGroupClass1 = document.createAttribute("class");
    ListGroupClass1.value = "col-4";
    listgroupdiv1.setAttributeNode(ListGroupClass1);
    var ListGroupClass2 = document.createAttribute("class");
    ListGroupClass2.value = "list-group";
    listgroupdiv2.setAttributeNode(ListGroupClass2);
    var ListGroupID = document.createAttribute("id");
    var ListGroupRole = document.createAttribute("role");
    ListGroupID.value = "list-tab";
    ListGroupRole.value = "tablist";
    listgroupdiv2.setAttributeNode(ListGroupID);
    listgroupdiv2.setAttributeNode(ListGroupRole);

    var id_href = 0;
    var Array_A_Group = [];
    for(var b = 0; b < CommentArray.length; b++){
      if(CommentArray[b].indexOf("Parts:") > -1){
        var listgroupa        = document.createElement("a");
        var listgroupaClass   = document.createAttribute("class");
        var listgroupaID      = document.createAttribute("id");
        var listgroupaToggle  = document.createAttribute("data-toggle");
        var listgroupaHref    = document.createAttribute("href");
        var listgroupaRole    = document.createAttribute("role");
        var listgroupaAria    = document.createAttribute("aria-controls");

        listgroupaClass.value   = "list-group-item list-group-item-action";
        listgroupaID.value      = String(id_href);
        listgroupaToggle.value  = "list";
        listgroupaHref.value    = String(id_href);
        listgroupaRole.value    = "tab";
        listgroupaAria.value    = "home";
        listgroupa.setAttributeNode(listgroupaClass);
        listgroupa.setAttributeNode(listgroupaID);
        listgroupa.setAttributeNode(listgroupaToggle);
        listgroupa.setAttributeNode(listgroupaHref);
        listgroupa.setAttributeNode(listgroupaRole);
        listgroupa.setAttributeNode(listgroupaAria);

        var CommentText = document.createTextNode(CommentArray[b]);
        listgroupa.appendChild(CommentText);
        Array_A_Group[id_href].push(listgroupa); // <<-- Problem is in this line!
        
        id_href++;
      }
    }
var listgroupdiv=document.createElement(“div”);
var listgroupdiv1=document.createElement(“div”);
var listgroupdiv2=document.createElement(“div”);
var ListGroupClass=document.createAttribute(“类”);
ListGroupClass.value=“行”;
listgroupdiv.setAttributeNode(ListGroupClass);
var ListGroupClass1=document.createAttribute(“类”);
ListGroupClass1.value=“col-4”;
listgroupdiv1.setAttributeNode(ListGroupClass1);
var ListGroupClass2=document.createAttribute(“类”);
ListGroupClass2.value=“列表组”;
listgroupdiv2.setAttributeNode(ListGroupClass2);
var ListGroupID=document.createAttribute(“id”);
var ListGroupRole=document.createAttribute(“角色”);
ListGroupID.value=“列表选项卡”;
ListGroupRole.value=“tablist”;
listgroupdiv2.setAttributeNode(ListGroupID);
listgroupdiv2.setAttributeNode(ListGroupRole);
变量id_href=0;
var数组_A_组=[];
for(var b=0;b-1){
var listgroupa=document.createElement(“a”);
var listgroupaClass=document.createAttribute(“类”);
var listgroupaID=document.createAttribute(“id”);
var listgroupaToggle=document.createAttribute(“数据切换”);
var listgroupaHref=document.createAttribute(“href”);
var listgroupaRole=document.createAttribute(“角色”);
var listgroupaAria=document.createAttribute(“aria控件”);
listgroupaClass.value=“列表组项目列表组项目操作”;
listgroupaID.value=String(id_href);
listgroupaToggle.value=“list”;
listgroupaHref.value=String(id_href);
listgroupaRole.value=“tab”;
listgroupaAria.value=“主页”;
setAttributeNode(listgroupaClass);
setAttributeNode(listgroupaID);
listgroupa.setAttributeNode(ListGroupAtogle);
listgroupa.setAttributeNode(ListGroupaRef);
setAttributeNode(listgroupaRole);
setAttributeNode(listgroupaAria);
var CommentText=document.createTextNode(CommentArray[b]);
listgroupa.appendChild(CommentText);

Array_A_Group[id_href].push(listgroupa);//问题确实在于这一行:

Array\u A\u Group[id\u href].push(listgroupa);

数组对象的push方法在数组本身上调用

e、 g

Array\u A\u Group.push(listgroupa);

按照您所做的方式,它尝试将对象推送到array\u A\u组中的数组中 在索引id_href处。由于此元素不存在,因此您正确地得到错误无法读取未定义的属性“push”


此外,您不需要保留额外的变量来跟踪数组的索引。将某些内容推送到数组后,它的索引将自动增加。

您好,欢迎使用SO。您知道它的
添加
-方法吗?哦,天哪,这真是太酷了。:哦,天哪,谢谢。这一点现在很明显。我尝试从b开始推出于某种原因,我创建了这个变量。但这个变量实际上不仅仅是为了这个目的,我也只是在这里使用它。但你是对的。谢谢!没问题,兰登博士-很高兴我能帮上忙!)
<div class="row">
  <div class="col-4">
    <div class="list-group" id="list-tab" role="tablist">
      <a class="list-group-item list-group-item-action active" id="list-home-list" data-toggle="list" href="#list-home" role="tab" aria-controls="home">Home</a>
      <a class="list-group-item list-group-item-action" id="list-profile-list" data-toggle="list" href="#list-profile" role="tab" aria-controls="profile">Profile</a>
      <a class="list-group-item list-group-item-action" id="list-messages-list" data-toggle="list" href="#list-messages" role="tab" aria-controls="messages">Messages</a>
      <a class="list-group-item list-group-item-action" id="list-settings-list" data-toggle="list" href="#list-settings" role="tab" aria-controls="settings">Settings</a>
    </div>
  </div>

  <div class="col-8">
    <div class="tab-content" id="nav-tabContent">
      <div class="tab-pane fade show active" id="list-home" role="tabpanel" aria-labelledby="list-home-list">...</div>
      <div class="tab-pane fade" id="list-profile" role="tabpanel" aria-labelledby="list-profile-list">...</div>
      <div class="tab-pane fade" id="list-messages" role="tabpanel" aria-labelledby="list-messages-list">...</div>
      <div class="tab-pane fade" id="list-settings" role="tabpanel" aria-labelledby="list-settings-list">...</div>
    </div>
  </div>
</div>