getElementsByClassName returns nothing for multiple or space-padded class names
Mantenedores costumam responder em até 5 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 82/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- javascript, node.js
- Domínio
- web-dev
Direção de pesquisa
O issue aponta para esm/mixin/parent-node.js, onde getElementsByClassName passa o argumento sem divisão para classList.has. Comece lendo esse método e os testes relacionados; em seguida, compare o comportamento com os requisitos da especificação DOM sobre espaços em branco ASCII e a presença de todas as classes. Adicione cobertura para vários nomes de classe, ordem invertida e espaços ao redor; o trabalho estará concluído quando os quatro exemplos retornarem uma correspondência cada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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/
- Linguagem predominante
- HTML
- Estrelas
- 2.1k
- Forks
- 117
- Merge médio
- 4d 13h
- PRs com merge (30d)
- 2
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de WebReflection/linkedom
-
Parsing splits one text run into several Text nodes at each character reference (`<p>a & b</p>` gives 3 child nodes)Talvez já em andamento @johnhldiver-beep assumiu há 9 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
WebReflection/linkedom#353 · 1 comentário ·
Mantenedores costumam responder em até 5 dias
-
SVG elements in an HTML document report an upper-cased tagName ("PATH" instead of "path")Talvez já em andamento @jonasporto assumiu há 10 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
WebReflection/linkedom#344 · 1 comentário ·
Mantenedores costumam responder em até 5 dias
-
`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>`Talvez já em andamento @vsolano9 assumiu há 23 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
WebReflection/linkedom#341 · 1 comentário ·
Mantenedores costumam responder em até 5 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
WebReflection/linkedom#340 · 1 comentário ·
Mantenedores costumam responder em até 5 dias
-
I'm this close to archive.Talvez já em andamento @WebReflection assumiu há 1 dia. Abertahelp wanted
WebReflection/linkedom#367 · 2 comentários · 1 reação · 1 responsável ·
Mantenedores costumam responder em até 5 dias
Todas as issues de WebReflection/linkedom
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
SACGF/variantgrid#2737 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
bug frontend ui
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 60/100
Mantenedores costumam responder em até 1 dia
-
Choosing a folder while continuing an Antigravity session submits a history fork the runtime rejectsAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 87/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
swombat/souls-house#842 ·
Mantenedores costumam responder em até 1 dia