jQuery indexOf fonction?
Je vais essayer d'obtenir un emplacement d'un élément dans un jQuery ensemble.
Voici ce que j'ai essayé jusqu'à présent.
Je veux être en mesure de faire quelque chose comme ceci:
$('ul').find('a').indexOf('.active');
Et obtenir l'emplacement de la .active
dans l'ensemble de a
'.
Est là quelque chose comme une indexOf()
fonction de jQuery? Le index()
méthode ne fonctionne pas
quelle devrait être la sortie?
la sortie est prévu pour le 2 (c'est le 3ème
il est utile de surcharge.
Je sais, après avoir posté une réponse en utilisant exactement cette fonction sur il y a 30 minutes.
C'est bizarre... je suis sûr que j'ai regardé et n'ai pas la voir. ???
la sortie est prévu pour le 2 (c'est le 3ème
a
élément)il est utile de surcharge.
Je sais, après avoir posté une réponse en utilisant exactement cette fonction sur il y a 30 minutes.
C'est bizarre... je suis sûr que j'ai regardé et n'ai pas la voir. ???
OriginalL'auteur qwertymk | 2012-05-02
Vous devez vous connecter pour publier un commentaire.
si vous passez un jQuery set (
$searchFor
) comme un argument de laindex
méthode d'un autre jQuery set ($searchIn
) c'est à direil sera de retour l'indice de
$searchFor
dans l'ensemble$searchIn
Dans votre exemple:
$('ul a')
est équivalent à$('ul').find('a')
...et un peu plus rapide
href="http://stackoverflow.com/a/10406578/601179">C'est même plus rapide comme il n'a pas besoin d'interroger les DOM à deux reprises.
yep, c'était ma version d'origine, mais j'ai édité pour simplifier --- pas de point de répéter les mêmes jQuery performance astuces si la performance n'a jamais été un problème et c'est plus difficile à lire (oneliners ftw)
l'optimisation est la racine de tous les maux" --- Donald Knuth. Aussi, si ce n'est pas un goulot d'étranglement, il fait 0 différence, et si il fait 1% de plus difficile à lire, il ne vaut pas ce genre de micro-optimisation, même si elle est.
OriginalL'auteur tobyodavies
Vous avez juste besoin de donner à la
index
fonction de l'objet jQuery:DÉMO
Il n'y a pas une telle fonction hors de la boîte, il peut être fait facilement comme ceci:DÉMO
OriginalL'auteur gdoron
Votre logique est bonne, il vous suffit de récupérer le faux de l'élément: http://jsfiddle.net/xz9dW/19/
La
a
lien n'a pas deindex()
valeur puisqu'il n'a pas de frères et sœurs, vous devez saisir leli
a
dans l'ensemble bienOriginalL'auteur rkw
Vous pouvez le faire simplement en le demandant dans le sélecteur:
Qu'entendez-vous par l'obtention de l'emplacement? Voulez-vous dire de position? ou l'URL?
Si vous souhaitez savoir où l'on vous
click
sur permet de dire.. Vous utilisez$(this)
à l'intérieur de votre fonction d'événement. Voici un exemple qui renvoie la position actuelle de l'élément que vous cliquez sur, si il y a plusieurs avec le.active
classe:Pour obtenir la position:
Pour obtenir l'emplacement de l'URL:
$('ul a.active')
n'a clairement rien de tel que OP est de demander.Il n'est pas de demander de l'
index
il demande àindexOf
, dernière, j'ai vérifié il s'agit de différentes.Comment est "index" différent de "indexOf"? Je ne peux pas penser à une seule langue qui implémente les deux sur le même type d'objet, et entre les langues qu'ils sont synonymes. OP utilisé le mot "indexOf" pas "index" parce que c'est le nom de la méthode intégrée en JS sur les tableaux et chaînes de caractères. Aussi, parce qu'il est à la recherche de la "indexOf" quelque chose signifie qu'il est à la recherche de index ce n'est pas une URL et non pas une coordonnée de position, c'était mon point.
Je crains que je n'ai aucune idée de ce que votre point est? En utilisant des noms de (synonymes) méthodes de suggérer une contradiction dans le sens d'une simple phrase anglaise ne fait pas beaucoup de sens pour moi...
Pourquoi devrait
indexOf
sur unjQuery
collection retour de l'URL? ou c'est la position en px??? Je suis avec @tobyodavies!OriginalL'auteur Control Freak