当我在浏览器中运行以下代码时-
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个列表项元素-
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>如何在元素被添加到列表时记录进度。例如-
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>发布于 2022-05-01 19:58:47
您可以通过记录ul元素的HTML,而不是它的引用来做到这一点,为此您可以使用outerHTML。
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);
});
https://stackoverflow.com/questions/72079937
复制相似问题