首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何记录对DocumentFragment的更改?

如何记录对DocumentFragment的更改?
EN

Stack Overflow用户
提问于 2022-05-01 19:47:45
回答 1查看 48关注 0票数 1

当我在浏览器中运行以下代码时-

代码语言:javascript
复制
const frag = new DocumentFragment();
const ul = document.createElement('ul');
frag.appendChild(ul);
Object.entries(['a', 'b', 'c']).forEach(([key, value]) => {
  const li = document.createElement('li');
  li.textContent = value;
  ul.appendChild(li);
  console.log(key, frag.firstChild);
});

3个无序列表被记录,每个列表包含3个列表项元素-

代码语言:javascript
复制
0
<ul>
  <li>a</li>
  <li>b</li>
  <li>c</li>
</ul>
1
<ul>
  <li>a</li>
  <li>b</li>
  <li>c</li>
</ul>
2
<ul>
  <li>a</li>
  <li>b</li>
  <li>c</li>
</ul>

如何在元素被添加到列表时记录进度。例如-

代码语言:javascript
复制
0
<ul>
  <li>a</li>
</ul>
1
<ul>
  <li>a</li>
  <li>b</li>
</ul>
2
<ul>
  <li>a</li>
  <li>b</li>
  <li>c</li>
</ul>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-01 19:58:47

您可以通过记录ul元素的HTML,而不是它的引用来做到这一点,为此您可以使用outerHTML

代码语言:javascript
复制
const frag = new DocumentFragment();
const ul = document.createElement('ul');
frag.appendChild(ul);
Object.entries(['a', 'b', 'c']).forEach(([key, value]) => {
  const li = document.createElement('li');
  li.textContent = value;
  ul.appendChild(li);
  console.log(key, frag.firstChild.outerHTML);
});

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72079937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档