2009-07-23 4 views

Répondre

5

Ceci est la mauvaise question à poser, car vous n'êtes pas censé avoir des ID en double dans un document. Un identifiant est comme le numéro de sécurité sociale d'un élément. Vous ne pouvez pas donner plusieurs éléments identiques, parce que quand vous dites à Javascript de trouver un élément par ID, il sera terriblement confus par le fait qu'il y en a plus d'un et vous donnera des résultats inattendus. La raison pour laquelle les recherches d'ID sont aussi rapides qu'elles le sont parce que le navigateur peut avoir une table de hachage ID-> élément - violer cette compréhension est une mauvaise pratique, c'est le moins qu'on puisse dire.

Lorsque vous avez plusieurs éléments qui sont tous du même « type », la bonne pratique est de les classer:

<div id="first"> 
    <div class="here">...</div> 
</div> 
<div id="second"> 
    <div class="here">...</div> 
</div> 

Alors vous pouvez faire:

$('#first').find('div.here'); 

Ou:

$('div.here', '#second'); 

Ou:

$('#first div.here'); 

Qui renverraient tous ce que vous attendez qu'ils reviennent.

0

This est ce que vous cherchez, mais comme l'a dit Paolo, vous ne pouvez pas avoir d'ID en double. Si vous stylisez des choses, utilisez une classe.

Questions connexes