65 votes

Que signifient les symboles de points et de hachage dans JQuery?

Je me sens confus des symboles de points et de hachage dans l'exemple suivant:

 <DIV ID="row">
<DIV ID="c1">              
<Input type="radio" name="testing" id="testing" VALUE="1">testing1
</DIV>
</DIV> 
 

Code 1:

  $('#row DIV').mouseover(function(){     
    $('#row DIV').addClass('testing');  
    });
 

Code 2

   $('.row div').mouseover(function(){
        $(this).addClass('testing');
    });​
 

Les codes 1 et 2 sont très similaires, et cela me rend tellement confus que
quand devrais-je utiliser ".row div" pour faire référence à une DIV spécifique au lieu d'utiliser "#row div"?

94voto

Jeff Schumacher Points 1976

Le hash (#) spécifie de sélectionner les éléments en fonction de leurs identifiants

Le point (.) Spécifie de sélectionner les éléments par leur nom de classe

Vous pouvez en savoir plus sur les sélecteurs ici: http://api.jquery.com/category/selectors/basic-css-selectors/

23voto

Matthew Jones Points 13864

$ ('. row') sélectionnera n'importe quel élément avec class="row"

$ ('# row') sélectionnera l'élément avec id=row

Vérifiez la page jQuery sur les sélecteurs .

7voto

Justin Ethier Points 57486

Ce sont des sélecteurs CSS.

Le symbole de hachage # signifie que l'élément est un identifiant. Ainsi, #row correspondrait à <div id="row"> .

Sinon, le symbole de point . signifie que l'élément est une classe CSS. Ainsi, .row correspondrait à <div class="row"> .

Il y a plus d'informations sur le W3C .

5voto

Chris Doggett Points 9987

"." fait référence à une classe, tandis que "#" fait référence à des identifiants.

 <table id="table">
    <tr class="odd"></tr>
    <tr></tr>
    <tr class="odd"></tr>
</table>
 

$ ("# table") obtiendrait l'objet table complet, tandis que $ (". impair") obtiendrait tout avec la classe "impaire". $ ("tr.odd") obtiendrait uniquement les lignes de la table avec cette classe.

2voto

EAMann Points 2787

Le . spécifie une classe appelée "ligne". Le # spécifie un identifiant appelé "ligne".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X