jQuery - multiples :pas de sélecteur
Je suis en train de cible de la page des liens qui ne commence pas par un '#' et de ne pas inclure dans la ligne de code javascript, mais je vais avoir des problèmes à comprendre comment la structure du sélecteur correctement.
Basé sur ce que j'ai googlé sur plusieurs sélecteurs cela devrait fonctionner, les deux sélecteurs de travailler de façon autonome, tout simplement pas ensemble!
$('a:not([href*=javascript]), a:not([href^=#])')
.each(function(){...
- Ont yoou essayé le " ou " opérateur? Aime: $('a:not([href*="javascript|#"])')
- Votre code d'origine fonctionne bien donc, s'il vous plaît poster plus de code et le code HTML afin que nous puissions voir ce qui n'allait pas..
- double possible de jQuery - Plusieurs Sélecteurs en :not()?
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser
$('a:not([href*=javascript],[href^=#])')
Vous pouvez également essayer:
$('a').not(selOne + ',' + selTwo + ',' + selX);
:not
plutôt que.not()
par la façon dont, pour des raisons de performances. voir stackoverflow.com/questions/8845811/...Comme indiqué dans jQuery - Plusieurs Sélecteurs en :not()? , c'est la bonne façon de le faire:
N'oubliez pas de mettre des guillemets autour des virgules si vous déjà avez déjà votre sélecteurs de nier dans les variables
J'avoue que le code est un peu confus, mais il a un avantage, vous pouvez faire des choses comme ceci:
Il est utile lorsque vous avez besoin de groupe de sélecteurs pour une raison quelconque, c'est à dire. en utilisant le même groupe de sélecteurs quelque part ailleurs dans le code.
Un exemple vivant à l'aide de la même technique
JS:
HTML:
Également sur http://jsfiddle.net/bmL8gz5j/
:not
vs.not()
: Pour des raisons de performances, vous devez utiliser:not
plutôt que.not()
, voir Les différences de rendement entre l'utilisation de ":pas de" et ".pas de()" sélecteurs?