Wie in jQuery - Multiple Selectors in a angegeben: not ()? Dies ist der richtige Weg, um dies zu tun:
$( 'a:not([href*=javascript],[href^=#])' )
Vergessen Sie nicht, Kommas in Anführungszeichen zu setzen, wenn Sie bereits über Selektoren verfügen, die Sie in Variablen negieren können
var selOne = '[href*=javascript]';
var selTwo = '[href^=#]';
$('a:not(' + selOne + ',' + selTwo + ')')
Ich gebe zu, dass der Code etwas verwirrend wird, aber es hat einen Vorteil, Sie können Dinge wie diese tun:
var selOne = '[href*=javascript], [href^=#]';
var selTwo = '.anotherSelector, .andAnother, .andSoOn';
$('a:not(' + selOne + ',' + selTwo + ')')
Dies ist immer dann nützlich, wenn Sie aus irgendeinem Grund Selektoren gruppieren müssen, z. Verwenden derselben Selektorgruppe an einer anderen Stelle im Code.
Ein Live-Beispiel mit derselben Technik
$('div:not(.rose-flower,.bus-vehicle)').css('color','red');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="bus-vehicle">I am a bus</div>
<div class="strawberry-fruit">I am a strawberry</div>
<div class="rose-flower">I am a rose</div>
Auch auf http://jsfiddle.net/bmL8gz5j/
:not
vs .not()
: Aus Performance - Gründen sollten Sie :not
statt .not()
finden Performance - Unterschiede zwischen der Verwendung von „: nicht“ und „.not ()“ Wähler?