Trouver une element fils

Le
Thierry
'jour,

J'ai deux div conteneurs contenant des div fils pouvant avoir les même id :
<div id="cont1"/>
<div id="fils1"/>
<div id="fils2"/>
<div id="fils3"/>
</div>
<div id="cont2"/>
<div id="fils2"/>
</div>

Je veux supprimer fils 2 de cont2. Mais document.getElementById ne me donne
pas le bon fil2. Comment faire ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #755343

J'ai deux div conteneurs contenant des div fils pouvant avoir les même id :


Ben non, c'est interdit par la norme. Si tu le fais, tu ne dois pas te
plaindre après que ça ne marche pas.

id = nom [CS]
Cet attribut assigne un nom à un élément. Ce nom doit être unique
dans le document.

Je veux supprimer fils 2 de cont2. Mais document.getElementById ne me donne
pas le bon fil2.


C'est normal. Comme l'id est supposé unique, cette fonction n'est pas
censée en trouver plusieurs.

Comment faire ?


Corriger le HTML.

[ copie et suivi dans fciw.auteurs ]

ASM
Le #755341
'jour,

J'ai deux div conteneurs contenant des div fils pouvant avoir les même id :


Ha ben NON! ils ne pourront avoir les mêmes divs !
C'est interdit !
Et c'est pourquoi le navigateur (et son JS) ne pourra les trouver (tous)

<div id="cont1"/>
<div id="fils1"/>
<div id="fils2"/>
<div id="fils3"/>
</div>
<div id="cont2"/>
<div id="fils2"/>
</div>

Je veux supprimer fils 2 de cont2. Mais document.getElementById ne me donne
pas le bon fil2. Comment faire ?


var d = document.getElementById('cont2').getElementsByTagName('DIV')[0];
d.parentNode.removeChild(d);


--
Stephane Moriaux et son (moins) vieux Mac déjà dépassé

Thierry
Le #755081
ASM news:464f0c4d$0$5105$:

'jour,

J'ai deux div conteneurs contenant des div fils pouvant avoir les
même id :


Ha ben NON! ils ne pourront avoir les mêmes divs !
C'est interdit !


C'est que je soupçonnais.

[snip]

var d > document.getElementById('cont2').getElementsByTagName('DIV')[0];
d.parentNode.removeChild(d);


C'est pas forcement le premier element...

Bon, j'ai mis deux jeux d'identifiant en fonction du conteneur et ca
marche.


Publicité
Poster une réponse
Anonyme