2010-06-01 2 views
0

Comment puis-je sélectionner la première balise avec le nom d'ID du centre dans l'échantillon sous le code?Sélectionner un élément à partir d'une balise div

<div id=first> 
    <div id=center></div> 
</div> 
<div id=first> 
    <div id=center></div> 
</div> 
+3

ID est appelé ID pour une raison - il est censé être un identifiant unique. –

Répondre

3
div = document.getElementById("center"); 

Je suppose que vous copier-collé deux fois qui est la raison pour laquelle le code est dupliqué. Si ce n'est pas le cas, vous devez changer ces ID en classes (l'ID doit être unique dans un document).

En outre, de mettre des guillemets autour des attributs (id="center")

+0

+1 Cette question fait-elle vraiment appel à une bibliothèque? Merci pour la réponse javascript. – harpo

0

La première chose, s « id » sont uniques, ce qui signifie que vous ne devriez jamais avoir deux balises avec le même identifiant. Vous devriez plutôt utiliser des classes, qui sont destinées à des balises ayant plusieurs points communs.

Deuxièmement, je chercherais sur la validation XHTML, comme celle ci-dessus est invalide:

http://www.w3schools.com/xhtml/

Je ne sais pas si cela va résoudre votre problème ou non. Si vous utilisez jQuery vous pouvez faire quelque chose de simple comme:

$('.center:first') 

Votre HTML pourrait ressembler à ceci:

<div class="first"> 
    <div class="center"></div> 
</div> 
<div class="first"> 
    <div class="center"></div> 
</div> 
-1

Vous pouvez utiliser Prototype pour sélectionner cet élément - mais il n'est pas valide HTML nommer différents nœuds du même identifiant.

utilisant Prototype pour sélectionner le premier en utilisant votre code

$$("#center")[1]; 

Si vous devez les garder utiliser ensemble une classe, vous pouvez boucle à travers eux comme ce

$$(".center").each(function(item){ 
    //Fun scripts 
}); 
+0

Une bibliothèque de 50 Ko (ou plus) pour la sélection par ID? Êtes-vous fou? –

+0

Si l'OP voulait utiliser le code tel qu'il est - je suggère la bibliothèque Prototype. S'ils ont juste besoin d'obtenir cet élément, alors 'document.getElementById (" ")' fera ce dont ils ont besoin –

Questions connexes