Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Incorrect target reported in all MutationRecords of type `childList`

Abierto
#300 3 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
50/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
javascript
Área
web-dev

Línea de trabajo

Comienza en esm/interface/mutation-observer.js en la ubicación enlazada y ejecuta la reproducción usando parseHTML y MutationObserver. Verifica que un childList MutationRecord informe del nodo padre de los nodos insertados o eliminados como su target, de modo que la aserción observe BODY en lugar de #document.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Running this code:

import { parseHTML } from "linkedom";
const { document, MutationObserver } = parseHTML(
  "<!doctype html><html><head></head><body>",
);

let mo = new MutationObserver((records) => {
  let { nodeName } = records[0].target;
  console.assert(nodeName === "BODY", `Expected BODY, got ${nodeName}.`);
});

mo.observe(document, { subtree: true, childList: true });

document.body.appendChild(document.createTextNode(""));

results in this error:

Assertion failed: Expected BODY, got #document.

If I'm reading it correctly, it looks like the target for a mutation is always reported as the node passed to observe (at least for childList) which is incorrect; for the childList MutationRecord type, the target should be the parentNode of the inserted/removed node(s).

Lenguaje dominante
HTML
Estrellas
2.1k
Forks
104
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de WebReflection/linkedom

Todos los issues de WebReflection/linkedom

Issues similares

Más issues de Web Dev

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.