Javascript DocumentCreateElement(div)在我尝试选择它时返回undefined';s属性 我用document createElement()函数创建了一个div 我使用setAttribute()函数为它添加了一个id属性

Javascript DocumentCreateElement(div)在我尝试选择它时返回undefined';s属性 我用document createElement()函数创建了一个div 我使用setAttribute()函数为它添加了一个id属性,javascript,html,dom,onclick,getelementbyid,Javascript,Html,Dom,Onclick,Getelementbyid,现在,我尝试使用getElementbyId()函数检索元素,但返回的是未定义的元素。我的代码如下所示: //最初 var contact=document.createElement('div'); setAttribute('id','contact-grid') //后来 var to=document.getElementById('contact-grid'))` to.onclick=function(){ 警报(“点击联系人”); } //上面的代码不起作用 控制台说:我不能设置未

现在,我尝试使用getElementbyId()函数检索元素,但返回的是未定义的元素。我的代码如下所示:

//最初

var contact=document.createElement('div'); setAttribute('id','contact-grid')

//后来

var to=document.getElementById('contact-grid'))` to.onclick=function(){ 警报(“点击联系人”); }

//上面的代码不起作用 控制台说:我不能设置未定义的onclick。请告诉我我做错了什么


为了动态地创建和附加元素,我们必须使用以下方法来实现我们所需要的。GetElemenetById函数仅在已将附加的元素应用于新创建的元素时才适用

  • document.createElement()
    -此方法使用作为参数传递的标记名创建HTML元素。 示例:创建
    li
    元素:-

    var dynamicLi = document.createElement("li");
    
  • element.setAttribute()
    -此方法用于设置属性。 示例-
    在新创建的
    li
    标记中添加id
    :-

  • node.appendChild()
    -此方法将节点附加到指定父节点的子节点列表的末尾。 示例-将新创建的
    li标签
    添加到其
    父ul标签
    :-

    let ul = document.getElementById("dynamic-list"); // we get the parent node
    ul.appendChild(li); // we append the li in the ul tag .
    
  • 下面是工作代码片段,使用上面定义的步骤:

      let ul = document.getElementById("Ul");  
      let li = document.createElement("li");
      li.setAttribute('id','li1');
      ul.appendChild(li);
    
      let newlyElem =document.getElementById("li1");  //code to find newly created element by element by id after append child.
    

    为了动态地创建和附加元素,我们必须使用以下方法来实现我们需要的功能。只有在将附加的元素应用于新创建的元素时,GetElemenetById函数才适用

  • document.createElement()
    -此方法使用作为参数传递的标记名创建HTML元素。 示例:创建
    li
    元素:-

    var dynamicLi = document.createElement("li");
    
  • element.setAttribute()
    -此方法用于设置属性。 示例-
    在新创建的
    li
    标记中添加id
    :-

  • node.appendChild()
    -此方法将节点附加到指定父节点的子节点列表的末尾。 示例-将新创建的
    li标签
    添加到其
    父ul标签
    :-

    let ul = document.getElementById("dynamic-list"); // we get the parent node
    ul.appendChild(li); // we append the li in the ul tag .
    
  • 下面是工作代码片段,使用上面定义的步骤:

      let ul = document.getElementById("Ul");  
      let li = document.createElement("li");
      li.setAttribute('id','li1');
      ul.appendChild(li);
    
      let newlyElem =document.getElementById("li1");  //code to find newly created element by element by id after append child.
    

    是否将元素添加到文档中,例如
    document.body.appendChild(contact)
    ?如果不是
    document.getElementById()
    将无法获取对它的引用,因为它不在
    文档中
    是否将元素添加到文档中,例如
    document.body.appendChild(contact)
    ?如果不是
    document.getElementById()
    将无法获取对它的引用,因为它不在
    文档中
    感谢您的回复,我完全按照上面的方式做了:但它不工作对于响应,我完全按照上面的方式做了:但它不工作