Si les conditions de faux prévenir par défaut
J'ai un lien. Lorsque quelqu'un clique sur que je veux vérifier certaines conditions avant de la laisser travailler. Si c'est false
l'action par défaut doit être évité.
$(".pager-next a.active").click(function(event) {
if (!a == 1) {
event.preventDefault();
}
});
Le lien doit fonctionner uniquement si a
est égal à 1
. Est le code ci-dessus correcte. a
est fixé à 1
si une condition particulière est remplie. Le lien doit fonctionner uniquement si la condition est remplie.
Est le code ci-dessus correcte Pourquoi ne demandez-vous? Avez-vous des problèmes? Si oui, lesquels?
Attention, il y a une différence entre
Basé sur votre explication, je pense que tu veux dire
lol l'a attrapé. Mathias Bynens est bon, je suis sûr que c'est votre problème, mais pourrait aussi être mauvais type de comparaison.
Cela peut être utile: developer.mozilla.org/en/JavaScript/Reference/Operators/...
Attention, il y a une différence entre
==
et ===
. Si vous voulez vérifier si a
est égal à l'entier 1
alors vous devriez utiliser a===1
. Voir stackoverflow.com/questions/359494/... pour la différence.Basé sur votre explication, je pense que tu veux dire
a != 1
au lieu de !a == 1
.lol l'a attrapé. Mathias Bynens est bon, je suis sûr que c'est votre problème, mais pourrait aussi être mauvais type de comparaison.
Cela peut être utile: developer.mozilla.org/en/JavaScript/Reference/Operators/...
OriginalL'auteur esafwan | 2012-02-21
Vous devez vous connecter pour publier un commentaire.
En supposant par " ne devraient travailler que si a est égal à 1' tu veux dire le texte de la
a
élément est égal à 1, essayez ceci:Vous pouvez modifier
text()
à utiliser n'importe quel attribut de l'élément est disponible pour vous en jQuery.Mise à JOUR
Dans ce cas, le problème est tout simplement que votre opérateur d'égalité est incorrect:
ah, je comprends, dans ce cas, je l'ai mis à jour ma réponse.
Pour ne pas confondre les vous-même, il pourrait être intéressant de vous en utilisant
true
etfalse
au lieu de0
et1
.OriginalL'auteur Rory McCrossan
Attention:
!a
évalue à true ou false. Si une conversion dea
à un bool esttrue
puis!a
évalue à false.Tous les entiers positifs évaluer à
true
. Donc!a
sera false. Une comparaison à l'aide de double est égal à==
1 test booléen!a
avec le booléen1
outrue
. Donc, sia
est un entier positif comme je soupçonne que c'est alors votreif
déclaration sera TOUJOURS la valeur false.Si vous voulez tester quelque chose n'est PAS quelque chose que vous devez modifier le premier est égal à votre opérateur de comparaison (
===
) à un!
.E. g.
var a = 2; if(a!==1) { //do something }
<-- est de 2, et donc la si la comparaison wille évaluer vrai quea
ne pas l'égalité des1
.Dans votre code, nous avons:
Espère que ça aide
P. S. Souvenez-vous de vos opérateurs de comparaison:
Mise à jour
J'ai vu votre commentaire sur un autre post qui dit que
a
est0
jusqu'à ce qu'il se passe quelque chose, alors il est1
.Dans ce cas:
OriginalL'auteur Thomas Clayson