sindresorhus/eslint-plugin-unicorn

Rule proposal: prefer-modern-dom-apis - .replaceChildren()

Fechada

#2.053 aberto em 21 de mar. de 2023

 (1 comentário) (3 reações) (0 responsável)JavaScript (468 forks)user submission
help wantednew rule

Métricas do repositório

Stars
 (5.022 estrelas)
Métricas de merge de PR
 (Mesclagem média 4h 30m) (26 fundiu PRs em 30d)

Description

Description

Instead of iterating all children in a DOM Node, we can use a zero-argument replaceChildren() call.

Fail

while (node.lastChild) {
  node.lastChild.remove();
}
while (node.firstChild) {
  node.firstChild.remove();
}

Pass

node.replaceChildren();
node.replaceChildren();

Additional Info

Not the same if iterating node.firstChildElement.remove() or iterating node.lastChildElement.remove() because the DOM structure can look like this:

<div>
  Text Block 1
  <input />
  Text Block 2
</div>

Guia do colaborador