Comment obtenir suivante ou précédente de l'attribut id en jQuery?
J'ai le code suivant
<a class="getty" id="1" href="/...">One<./a>
<a class="getty" id="2" href="/...">Two<./a>
<a class="getty" id="3" href="/...">Three<./a>
Lorsque je vais cliquer sur la Gauche ou la droite, je vais avoir besoin d'obtenir de la précédente ID.
Exemple : Si je suis sur id="2"
, j'ai besoin d'obtenir id="1"
si je clique sur la gauche.
$(document).keydown(function(e){
if (e.keyCode == 37) {
$('.getty').attr("id");
return false;
} });
if (e.keyCode == 33) {
$('.getty').attr("id");
return false;
}
});
Comment puis-je le faire ?
Grâce
Salut! Vous avez une question! Désolé, juste pensé que c'était drôle ;-P
Sérieusement, avec 32 questions que vous devriez vraiment savoir comment formater vos messages maintenant. stackoverflow.com/editing-help Edit: Et regardez ce que nous avons fait, les gars.
Oui, je ne
Sérieusement, avec 32 questions que vous devriez vraiment savoir comment formater vos messages maintenant. stackoverflow.com/editing-help Edit: Et regardez ce que nous avons fait, les gars.
Oui, je ne
OriginalL'auteur Steffi | 2011-03-22
Vous devez vous connecter pour publier un commentaire.
Pour obtenir la précédente id lorsque le lien est cliqué.
Vous pouvez faire de même pour le suivant à l'aide de la
next()
fonctionVérifier exemple de travail à http://jsfiddle.net/H3hdy/
Utilisation de l'alerte dans l'événement click et de faire usage de $(ce) à la cible actuelle cliqué sur l'élément par exemple alert($(this).next().attr("id"));
comme Marc l'a dit, dans votre alerte utilisation
$(this)
au lieu de$('.getty')
. Il est également recommandé de définir une condition pour le dernier élément, puisque next() sur la dernière<li>
vous obtiendrez indéfini.J'ai essayé
alert($(this).next().attr("id"));
mais c'est la mêmeTout ce que vous devez faire est de remplacer prev next. Vérifier jsfiddle.net/H3hdy/1
OriginalL'auteur
Vous pouvez utiliser du jQuery prochaine fonction pour obtenir les prochaines frères et sœurs, et prev pour obtenir le frère précédent.
OriginalL'auteur
Comme GregInYEG mentionné, vous avez besoin de jQuery suivant la fonction, mais puisque vous êtes à l'aide des touches lié au document, vous aurez également besoin d'un moyen de suivre ce qui est de l'actuel.
a way to track which one
Dans votre exemple, vous êtes sur
id='2'
et vous pouvez utiliser le.prev()
pour aller àid='1'
. Mais, dans votre javascript, vous ciblez$('.getty')
qui n'a pas d'indiquer que vous ciblez pour aller à la suivante ou à la précédente. Aussi, parce que vous êtes à l'aide des touches, pas un clic, vous ne pouvez tout simplement pas la cible basé sur celui d'un utilisateur a cliqué sur. Ainsi, vous pouvez soit ajouter une classe à l'id que vous êtes actuellement sur, ou de stocker l'id de l'actuel dans une variable. Je suis peut-être avoir à y penser ce dont vous avez besoin, mais j'espère que cela éclaircit ce que je voulais dire.Maintenant, je suis en train de faire :
alert($('.getty').next().attr("id");)
Et il affichenull
OriginalL'auteur