Quelle serait la méthode la plus efficace pour trouver un élément enfant de (avec classe ou ID) d'un élément parent particulier en utilisant uniquement du javascript pur. Pas de jQuery ou d'autres frameworks.
Dans ce cas, j'aurais besoin de trouver child1 ou child2 du parent , en supposant que l'arborescence DOM pourrait avoir plusieurs éléments de classe child1 ou child2 dans l'arborescence. Je veux seulement les éléments de parent
<div class="parent">
<div class="child1">
<div class="child2">
</div>
</div>
</div>
javascript
dom
Blyde
la source
la source
document.getElementById('element-id')
.Réponses:
La
children
propriété renvoie un tableau d'éléments, comme ceci:Il existe des alternatives
querySelector
, commedocument.getElementsByClassName('parent')[0]
si vous le désirez.Edit: Maintenant que j'y pense, vous pouvez simplement utiliser
querySelectorAll
pour obtenir les décendants d'parent
avoir un nom de classe dechild1
:La différence entre qS et qSA est que ce dernier renvoie tous les éléments correspondant au sélecteur, tandis que le premier ne renvoie que le premier de ces éléments.
la source
Si vous en avez déjà,
var parent = document.querySelector('.parent');
vous pouvez le faire pour étendre la recherche auxparent
enfants de:la source
parent.querySelectorAll('.child')
renvoyer une liste de nœudsEn ajoutant simplement une autre idée, vous pouvez utiliser un sélecteur d'enfants pour obtenir des enfants immédiats
devrait retourner tous les enfants immédiats avec la classe .child1
la source
Vous avez un élément parent, vous voulez obtenir tous les enfants de l'attribut spécifique 1. obtenir le parent 2. obtenir le nom du nœud parent en utilisant
parent.nodeName.toLowerCase()
convertir le nom du nœud en minuscules, par exemple DIV sera div 3. pour d'autres raisons spécifiques, obtenir un attribut de le parent par exempleparent.getAttribute("id")
. cela vous donneraid
le parent 4. Ensuite, utilisezdocument.QuerySelectorAll(paret.nodeName.toLowerCase()+"#"_parent.getAttribute("id")+" input " );
si vous voulez des enfants d'entrée du nœud parentla source