2016-05-07 9 views
2

Ich habe diese Wähler:jQuery-Selektor Fehler: nicht erkannte Äußerung

$('.kleo-main-header .nav > li a[href=#undefined]') 

Und ich erhalte eine Fehlermeldung in Chrom Konsole:

Syntax error, unrecognized expression: .kleo-main-header .nav > li a[href=#undefined] 

ich mit doppelten Anführungszeichen versucht, anstelle von einfachen Anführungszeichen, aber es didn‘ t ändern. Irgendeine Idee, was das verursacht?

Antwort

5

Sie müssen den Attributwert angeben, wenn er Sonderzeichen enthält, die sonst in einem Selektor verwendet werden, wie der Hash, der auch für IDs verwendet wird.

jQuery verwendet eine Regex, die in Selektoren nach Punkten, Hashes und solchen Dingen sucht, um herauszufinden, ob sie nach einer ID, Klasse oder was auch immer suchen soll.

$('.kleo-main-header .nav > li a[href="#undefined"]') 

Beachten Sie, dass Sie mit einem Element übereinstimmen, das aussieht wie <a href="#undefined">anchor</a>?

FIDDLE

Verwandte Themen