Jquery hasClass + Si la Déclaration
Je veux la suite loadContent fonction pour charger la cible div uniquement si le lien cliqué a une certaine classe. C'est ce que j'ai trouvé jusqu'à présent:
function loadContent(targetDIV, sourceURL) {
if ( $(this).hasClass("done") ) {
$(""+targetDIV+"").load(""+sourceURL+"");
}
}
<a href="javascript:loadContent('#nav', 'news.php');" class="done">News</a>
La fonction fonctionne sans l'instruction si, mais j'ai juste ne peut pas sembler obtenir le hasClass de travailler avec la si - tout des pensées? Merci!
OriginalL'auteur Ryan Gillies | 2011-05-18
Vous devez vous connecter pour publier un commentaire.
Modifier à la suivante, et cela devrait fonctionner:
En utilisant
.call()
, vous êtes à la mise en valeur de lathis
dans leloadContent
fonction de l'élément courant.Et parce que nous avons utilisé
onclick
,this
dans la ligne de gestionnaire vous donnera la référence à passer.OriginalL'auteur user113716
La raison pour laquelle ça ne fonctionne pas parce que la référence à "cela" dans votre fonction n'est pas fait référence à la liaison. Passer le lien lui-même à la fonction pour de meilleurs résultats:
OriginalL'auteur Jage
Au lieu d'utiliser href="javascript:..." pourriez-vous peut-être utiliser le jquery méthode click() pour lier votre clic?
Je ne sais pas si "ce" est réglé correctement, que vous avez, mais je pense que l'utilisation de jquery cliquez sur veillera à ce "ce" est-ce que vous attendez. Je pense aussi que c'est plus clair.
OriginalL'auteur mutex