2010-09-28 13 views
6

Ich bin neu bei JQuery, ich nehme an, das ist wirklich einfach, aber ich kann den richtigen Selektor nicht finden. Ich habe versucht, mit diesem Code:JQuery-Selektor: href-Attribut enthält weder word1 noch word2

$(":not(a[href=word1],a[href=word2]").click(function() { 
... do something 
} 

aber es funktioniert nicht, in der Tat ist es die ganze CPU-Zeit zu saugen scheint. Kannst du mir helfen? Vielen Dank!

Antwort

18

Hier ist eine viel effizientere Version, die es zuerst Anker nach unten verengt:

$("a:not([href*=word1],[href*=word2])").click(function() { 
    //do something 
}); 

You can test the selector out here.

Derzeit sind Sie versuchen, ein click Ereignis alles zu binden, die mit einem dieser Worte nicht ein Anker ist drin href ist Attribut ... jedes Element, das sehr teuer ist sowohl und zu überprüfen, zu binden, diese bindet stattdessen an Anker und nur dann, wenn deren href keines dieser Wörter enthält.

+0

danke, es funktioniert! – astorcas

Verwandte Themen