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

在新DOM主体中创建和查询元素

  •  0
  • cdub  · 技术社区  · 3 年前

        let body = document.body;
        // let body = document.body.cloneNode(true);
    
        body.querySelectorAll('button').forEach(b => {
    
            b.removeAttribute('click.delegate');
        });
    

    我试图更新和查询dom页面的主体以生成一个新的html文档,但是当我这样做时,它会更新当前页面以及我正在动态构建的页面。克隆节点阻止我使用querySelectorAll()。有什么想法吗?谢谢你的帮助。

    1 回复  |  直到 3 年前
        1
  •  0
  •   pilchard    3 年前

    可以通过编程方式创建新的 body document.createElement() 并指定活动 document.body 去吧。

    let body = document.createElement('body');
    body.innerHTML = document.body.innerHTML;
    
    body.querySelectorAll('div').forEach(d => {
      d.classList.add('red');
      console.log(d)  
    });
    .red {
      background-color:tomato;
    }
    <body>
      <div>
        <button type='button'>Button</button>
      </div>
    </body>