2012-02-19 2 views
0

Je vise à affecter un élément avec différentes variations de la même fonction. J'ai utilisé id, class, et a, mais cela semble être une façon vraiment moche de le faire, et j'atteindrai finalement une limite de sélecteurs. Mon code est ci-dessous, j'aimerais avoir une façon plus élégante d'implémenter ceci avec un nombre moins important de façons d'affecter un élément de la page.jquery sélecteurs multiples pour un élément

EDIT: ci-dessous sont juste les parties du sélecteur du code. Un élément ne peut pas avoir plus d'un identifiant ou d'une classe, alors comment ajouterais-je 10 manières différentes de référencer le même élément, pour que je puisse faire 10 choses différentes en même temps?

  <script> 
      $(document).ready(function() 
        { 

      $('a[title]').qtip({ (...) 
}); 


      $('#tooltip2').qtip({ (...) 
}); 

      $('.myclass').qtip({ (...) 
}); 
+0

Vous pouvez toujours utiliser plusieurs classes sur le même élément. – Bojangles

+0

Raccourci et ajouté un? – rd42

Répondre

3

Vous suffit d'utiliser le même sélecteur chaque fois ...

$('#tooltip2') 

Il n'y a aucune raison que vous devez utiliser un autre sélecteur chaque fois que vous faites quelque chose de différent à l'élément. Le sélecteur est juste un moyen d'identifier l'élément que vous voulez dans le DOM.


Vous avez modifié la question. Dans la question initiale, chaque sélecteur utilisé faisait référence au même élément.

Vous avez ajouté ...

"Un élément ne peut avoir plus d'un id ou classe ..."

Un élément peut avoir plus une classe.

« ... alors comment pourrais-je ajouter 10 façons différentes pour référencer le même élément ... »

Vous n'avez pas besoin d'avoir différentes façons de sélectionner le même élément, si vous sélectionnez effectivement le même élément.

« ... Je peux faire 10 choses différentes avec en même temps »

Comment vous sélectionnez a vraiment rien à voir avec ce que vous faites pour lui. Si 10 personnes différentes veulent vous parler, est-ce que chacune d'elles a besoin de vous appeler par un nom différent? Le sélecteur est simplement un moyen de en spécifiant l'élément que vous ciblez.


Si vous avez besoin de travailler avec elle de plusieurs façons, il est préférable de le sélectionner une fois, et mettre en cache la sélection ...

var tt2 = $('#tooltip2'); 

tt2.qtip(...); 

tt2.qtip(...); 

tt2.qtip(...); 

En effet, une sélection DOM est un opération assez coûteuse. Il est préférable de ne pas le faire à plusieurs reprises quand inutile.

+0

jamais pensé à cela, laissez-moi l'essayer – rd42

+0

ne suis pas je suis, excellente réponse.Je m'attendais à de la complexité et je ne pensais pas à regarder l'évidence. Je vous remercie! Je vais vérifier l'enregistrement dans 6 min. – rd42

+0

@ rd42: De rien. –