Qual seria o método mais eficiente para encontrar um elemento filho de (com classe ou ID) de um elemento pai específico usando apenas javascript puro. Sem jQuery ou outras estruturas.
Nesse caso, eu precisaria encontrar child1 ou child2 do pai , assumindo que a árvore DOM pudesse ter vários elementos de classe child1 ou child2 na árvore. Eu só quero os elementos de pai
<div class="parent">
<div class="child1">
<div class="child2">
</div>
</div>
</div>
javascript
dom
Blyde
fonte
fonte
document.getElementById('element-id')
.Respostas:
A
children
propriedade retorna uma matriz de elementos, assim:Existem alternativas para
querySelector
, comodocument.getElementsByClassName('parent')[0]
se você desejar.Edit: Agora que penso nisso, você pode usar apenas
querySelectorAll
para obter os decendentes deparent
ter um nome de classe dechild1
:A diferença entre qS e qSA é que o último retorna todos os elementos correspondentes ao seletor, enquanto o primeiro retorna apenas o primeiro desses elementos.
fonte
Se você já possui,
var parent = document.querySelector('.parent');
pode fazer isso para definir o escopo da pesquisa paraparent
os filhos de:fonte
parent.querySelectorAll('.child')
retornar um NodeListApenas adicionando outra idéia, você pode usar um seletor de filhos para obter filhos imediatos
deve retornar todos os filhos imediatos com a classe .child1
fonte
Você tem um elemento pai, deseja obter todo filho do atributo específico 1. obter o pai 2. obter o nome do nó pai usando
parent.nodeName.toLowerCase()
converter o nome do nó em letras minúsculas, por exemplo, DIV será div 3. para fins específicos adicionais, obter um atributo de o pai, por exemploparent.getAttribute("id")
. isso fornecerá a vocêid
o pai 4. Em seguida, usedocument.QuerySelectorAll(paret.nodeName.toLowerCase()+"#"_parent.getAttribute("id")+" input " );
se você deseja inserir filhos do nó paifonte