getElementsByClassName returns nothing for multiple or space-padded class names
Les mainteneurs répondent en général sous 5 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 82/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- javascript, node.js
- Domaine
- web-dev
Piste de recherche
L’issue pointe vers esm/mixin/parent-node.js, où getElementsByClassName transmet l’argument non découpé à classList.has. Commencez par lire cette méthode et les tests associés, puis comparez son comportement aux exigences de la spécification DOM concernant les espaces blancs ASCII et la présence de toutes les classes. Ajoutez des tests couvrant plusieurs noms de classe, l’ordre inversé et les espaces environnants ; le travail est terminé lorsque les quatre exemples renvoient chacun une correspondance.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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/
- Langage dominant
- HTML
- Étoiles
- 2.1k
- Forks
- 117
- Merge moyen
- 4 j 13 h
- PR mergées (30 j)
- 2
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de WebReflection/linkedom
-
Parsing splits one text run into several Text nodes at each character reference (`<p>a & b</p>` gives 3 child nodes)Peut-être pris @johnhldiver-beep l’a pris il y a 9 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
WebReflection/linkedom#353 · 1 commentaire ·
Les mainteneurs répondent en général sous 5 jours
-
SVG elements in an HTML document report an upper-cased tagName ("PATH" instead of "path")Peut-être pris @jonasporto l’a pris il y a 9 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
WebReflection/linkedom#344 · 1 commentaire ·
Les mainteneurs répondent en général sous 5 jours
-
`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>`Peut-être pris @vsolano9 l’a pris il y a 22 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
WebReflection/linkedom#341 · 1 commentaire ·
Les mainteneurs répondent en général sous 5 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
WebReflection/linkedom#340 · 1 commentaire ·
Les mainteneurs répondent en général sous 5 jours
-
Element#matches() compiles the selector on every callPeut-être pris @jonasporto l’a pris il y a 22 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
WebReflection/linkedom#348 · 1 commentaire ·
Les mainteneurs répondent en général sous 5 jours
Toutes les issues de WebReflection/linkedom
Issues similaires
-
bug implicit-state
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
v6: OTP input keeps the rest of a selection when you type over itPeut-être pris @thejesh23 l’a pris aujourd’hui. Ouvertebug confirmed has-pr js v6
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
twbs/bootstrap#43323 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
book-layout.spec fails when the similar-books rail holds other projects' booksPeut-être pris @praetorianer777 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
praetorianer777/GoTome#373 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour