在新 DOM 正文中创建和查询元素

Creating and querying elements in a new DOM body

我的打字稿文件中有以下代码:

    let body = document.body;
    // let body = document.body.cloneNode(true);

    body.querySelectorAll('button').forEach(b => {

        b.removeAttribute('click.delegate');
    });

我正在尝试更新和查询 dom 页面的正文以创建一个新的 html 文档,但是当我这样做时它会更新当前页面以及我所在的页面即时构建。 cloneNode 阻止我使用 querySelectorAll()。有任何想法吗?谢谢你的帮助。

您可以使用 document.createElement() 以编程方式创建新的 body 元素,并将活动 document.body 的 innerHTML 分配给它。

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>