Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.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 为什么要用子元素替换父元素?_Javascript - Fatal编程技术网

Javascript 为什么要用子元素替换父元素?

Javascript 为什么要用子元素替换父元素?,javascript,Javascript,为什么这不起作用: document.createElement('ul').appendChild(document.createElement('li')) 如果我将创建的元素保存在vars中并尝试将一个元素附加到另一个元素(父元素)中,也会发生这种情况 UPD:我需要返回(节点)或类似html的主要问题是文档。createElement('ul')尚未添加到文档中。因此,向其附加另一个元素不会影响文档 在下面的代码片段中,我将ul附加到body,然后将li附加到ul。希望能有帮助 d

为什么这不起作用:

 document.createElement('ul').appendChild(document.createElement('li'))
如果我将创建的元素保存在vars中并尝试将一个元素附加到另一个元素(父元素)中,也会发生这种情况


UPD:我需要返回(节点)或类似html的
    • 主要问题是
      文档。createElement('ul')
      尚未添加到文档中。因此,向其附加另一个元素不会影响文档

      在下面的代码片段中,我将
      ul
      附加到
      body
      ,然后将
      li
      附加到
      ul
      。希望能有帮助


      document.getElementsByTagName(“正文”)[0].appendChild(document.createElement('ul')).appendChild(document.createElement('li'))
      主要问题是
      document.createElement('ul')
      尚未添加到文档中。因此,向其附加另一个元素不会影响文档

      在下面的代码片段中,我将
      ul
      附加到
      body
      ,然后将
      li
      附加到
      ul
      。希望能有帮助


      document.getElementsByTagName(“body”)[0].appendChild(document.createElement('ul')).appendChild(document.createElement('li'))
      您只需将
      ul
      附加到某个内容上即可

      const appendList = (trunk, n) => {
        const ul = document.createElement('ul')
        for (let i = 0; i < n; i++) ul.appendChild(document.createElement('li'))
        trunk.appendChild(ul)
      }
      
      appendList(document.body, 4)
      
      const element = document.getElementById('element')
      appendList(element, 2)
      
      const appendList=(主干,n)=>{
      const ul=document.createElement('ul')
      对于(设i=0;i
      或者,您可以执行以下操作

      const appendList = (trunk, n) => {
        const ul = document.createElement('ul')
        for (let i = 0; i < n; i++) ul.appendChild(document.createElement('li'))
        document.querySelector(trunk).appendChild(ul)
      }
      
      appendList('#element', 10)
      appendList('.otherElement', 3)
      
      const appendList=(主干,n)=>{
      const ul=document.createElement('ul')
      对于(设i=0;i
      您只需将
      UL
      附加到某个内容上

      const appendList = (trunk, n) => {
        const ul = document.createElement('ul')
        for (let i = 0; i < n; i++) ul.appendChild(document.createElement('li'))
        trunk.appendChild(ul)
      }
      
      appendList(document.body, 4)
      
      const element = document.getElementById('element')
      appendList(element, 2)
      
      const appendList=(主干,n)=>{
      const ul=document.createElement('ul')
      对于(设i=0;i
      或者,您可以执行以下操作

      const appendList = (trunk, n) => {
        const ul = document.createElement('ul')
        for (let i = 0; i < n; i++) ul.appendChild(document.createElement('li'))
        document.querySelector(trunk).appendChild(ul)
      }
      
      appendList('#element', 10)
      appendList('.otherElement', 3)
      
      const appendList=(主干,n)=>{
      const ul=document.createElement('ul')
      对于(设i=0;i
      请编辑您的to post以获得一个。因为您没有将ul添加到正文或任何其他div中。如果您的代码中只有该行,则
      文档。createElement('ul')
      将创建一个新的DOM元素。但是,该元素从未添加到DOM树中,因为它从未分配给任何父元素,也不会出现在任何地方。我只需要创建
      • 元素,在我将它附加到body对象之后..那么怎么做呢?更新了我的答案请编辑你的to post以便有一个。因为你没有将ul添加到body或任何其他div中。如果你的代码中只有那一行,那么
        document.createElement('ul')
        创建一个新的DOM元素。但是,该元素从未添加到DOM树中,因为它从未分配给任何父元素,也不会出现在任何地方。我只需要在将其附加到body对象后创建
          • 元素。那么怎么做呢?更新了我的回答,但我不想将其附加到body对象,我只想把元素从主体中分离出来,有可能吗?是的,但最终你会想把它们附加到某个元素中,对吗?因此,您可以使用类似于
            document.getElementsByTagName(“body”)[0]
            的内容替换
            document.getElementsByID(“myelement”)
            。但我不想将其附加到body对象,我只想将
              • 元素与body分开,是吗,但最终你会想把它们附加到某个元素上,对吗?因此,您可以将
                document.getElementsByTagName(“body”)[0]
                部分替换为类似于
                document.getElementsByID(“myelement”)
                的部分。尝试一下,您将只得到
              • 附加到body(它的末尾)的内容,然后您将只得到
              • 附加到body(它的末尾)