getElementsByClassName returns nothing for multiple or space-padded class names
Los mantenedores suelen responder en 5 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 82/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, node.js
- Área
- web-dev
Línea de trabajo
El issue señala esm/mixin/parent-node.js, donde getElementsByClassName pasa el argumento sin dividir a classList.has. Empieza por leer ese método y las pruebas relacionadas; luego compara su comportamiento con los requisitos de espacios en blanco ASCII y de todas las clases de la especificación DOM. Añade cobertura para varios nombres de clase, el orden inverso y los espacios alrededor; el trabajo estará terminado cuando los cuatro ejemplos devuelvan una coincidencia cada uno.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
getElementsByClassName matches the whole argument as a single class, so "a b", "b a" or " a " find nothing.
const { parseHTML } = require("linkedom");
const { document } = parseHTML('<!doctype html><html><body><p class="a b">x</p></body></html>');
console.log(
document.getElementsByClassName("a").length,
document.getElementsByClassName("a b").length,
document.getElementsByClassName("b a").length,
document.getElementsByClassName(" a ").length
);
node t.js
Expected: 1 1 1 1
Actual: 1 0 0 0
Tested with linkedom 0.18.15 from npm and main at 6e2ae0c, Node.js 26.13.0.
The DOM spec splits the argument on ASCII whitespace and requires all classes (https://dom.spec.whatwg.org/#concept-getelementsbyclassname). getElementsByClassName in esm/mixin/parent-node.js calls classList.has(className) with the unsplit string.
Credit: https://ucsbplse.github.io/
- Lenguaje dominante
- HTML
- Estrellas
- 2.1k
- Forks
- 117
- Merge medio
- 4 d 13 h
- PR fusionados (30 d)
- 2
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de WebReflection/linkedom
-
Parsing splits one text run into several Text nodes at each character reference (`<p>a & b</p>` gives 3 child nodes)Posiblemente ocupada @johnhldiver-beep la tomó hace 9 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
WebReflection/linkedom#353 · 1 comentario ·
Los mantenedores suelen responder en 5 días
-
SVG elements in an HTML document report an upper-cased tagName ("PATH" instead of "path")Posiblemente ocupada @jonasporto la tomó hace 9 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
WebReflection/linkedom#344 · 1 comentario ·
Los mantenedores suelen responder en 5 días
-
`TextElement.toString()` puts the element text back at the first `><` of the start tag, so an attribute value containing `><` swallows the text of `<style>`, `<script>`, `<title>` and `<textarea>`Posiblemente ocupada @vsolano9 la tomó hace 22 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
WebReflection/linkedom#341 · 1 comentario ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
WebReflection/linkedom#340 · 1 comentario ·
Los mantenedores suelen responder en 5 días
-
Element#matches() compiles the selector on every callPosiblemente ocupada @jonasporto la tomó hace 22 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
WebReflection/linkedom#348 · 1 comentario ·
Los mantenedores suelen responder en 5 días
Todos los issues de WebReflection/linkedom
Issues similares
-
bug implicit-state
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
v6: OTP input keeps the rest of a selection when you type over itPosiblemente ocupada @thejesh23 la tomó hoy. Abiertobug confirmed has-pr js v6
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
twbs/bootstrap#43323 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
book-layout.spec fails when the similar-books rail holds other projects' booksPosiblemente ocupada @praetorianer777 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
praetorianer777/GoTome#373 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día