2009-11-20 13 views
26

Ich brauche ein Muster, das das Dokument durchlaufen wird und mir alle Links erhalten, die mailto in ihre href haben:bekommen alle Mailto-Links mit jQuery

<a href="mailto:[email protected]">text</a> 

ich könnte natürlich einfach alle a Elemente erhalten ($("a")) und Überprüfen Sie jedes Attribut href, um zu sehen, ob es auf ein mailto zeigt, aber ich denke, dass jQuery irgendeine Form des Musterabgleichs hat, die mir erlauben wird, genau das zu tun.

Was ist der beste Weg, um das zu erreichen?

Antwort

61
$('a[href^="mailto:"]') 

doppelte Anführungszeichen sind in der Regel überflüssig, aber in diesem speziellen Fall notwendig, da sonst : als Beginn eines pseudo-Wähler interpretiert werden würde. So würde $('a[href^=mailto]') auch funktionieren, aber in diesem speziellen Szenario sind die Zitate wahrscheinlich ein besserer Weg zu gehen.

+0

+1 Genau das, was ich gesucht habe –

+1

Ich bekomme einen Fehler, wenn ich 'mailto' in Anführungszeichen verpacke, wie dies' $ ('a [href^= "mailto:"]'); ' – tmslnz

+0

@ tmslnz: Guter Fang! Es ist das ':' das erfordert die Anführungszeichen. Aktualisiert. –