getAttribute("class") trims the value and returns "" when absent
Los mantenedores suelen responder en 17 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, node.js
- Área
- backend
Línea de trabajo
Start by tracing getAttribute("class") and class selector matching in linkedom, then run the reproduction with the supplied HTML and compare the results with the stated browser expectations. Done means the class value preserves its leading space, a missing class returns null, and [class^=" a"] matches the element.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
issue:
getAttribute("class") should return the attribute exactly as written. linkedom strips the whitespace (" ab" → "ab") and returns "" instead of null when there is no class. Selectors see the stripped value too, so [class^=" a"] misses.
repro:
import { parseHTML } from "linkedom";
const { document } = parseHTML('<html><body><i class=" ab"></i><b></b></body></html>');
const [i, b] = document.body.children;
console.log(JSON.stringify(i.getAttribute("class"))); // "ab"
console.log(JSON.stringify(b.getAttribute("class"))); // ""
console.log(document.querySelectorAll('[class^=" a"]').length); // 0
expected:
" ab", null, 1 (as Chrome, Firefox, Safari)
system:
linkedom 0.18.13, Node 25.8.1
macOS 27.0, arm64
- Lenguaje dominante
- HTML
- Estrellas
- 2.1k
- Forks
- 110
- Merge medio
- 11 d 1 h
- PR fusionados (30 d)
- 1
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
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
WebReflection/linkedom#344 ·
Los mantenedores suelen responder en 17 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ó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
WebReflection/linkedom#341 ·
Los mantenedores suelen responder en 17 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
WebReflection/linkedom#340 ·
Los mantenedores suelen responder en 17 días
-
Element#matches() compiles the selector on every callPosiblemente ocupada @jonasporto la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
WebReflection/linkedom#348 ·
Los mantenedores suelen responder en 17 días
-
Dificultad 3/5 Medio día Aptitud para principiantes 50/100
WebReflection/linkedom#345 ·
Los mantenedores suelen responder en 17 días
Todos los issues de WebReflection/linkedom
Issues similares
-
run_all sleeps after the final job despite documenting delays between jobsPosiblemente ocupada @Gambit-Checkmate la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
bnv-manager-v2: accept_invite creates the Mailcow domain admin before the commitPosiblemente ocupada @myOmikron la tomó hoy. Abiertobug ready-for-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
BUG
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Mai-with-u/MaiBot#2187 ·
Los mantenedores suelen responder en 1 día
-
AG-UI bug pkg:core
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
pydantic/pydantic-ai#10538 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
nicolettas-muggelbude/RechnungsFee#448 ·
Los mantenedores suelen responder en 1 día