2009-11-11 3 views

Antwort

10

um sicherzustellen, dass Sie http://foo.com bekommen, http://bar.foo.com/about, und nicht http://bazfoo.com, versuchen:

$("a[href*='/foo.com'], a[href*='.foo.com']").addClass('your_class'); 

Hier ist eine stärkere Lösung mit regulären Ausdrücken, ist dies wahrscheinlich langsamer, wohlgemerkt, sondern überprüft die Domain auf den Start ist :

$("a").filter(
    function(){ 
     return $(this).attr('href') 
         .match(/^https?:\/\/([^/]*\.)?foo\.com(\/.*|$)/i); 
    }) 
    .addClass('your_class'); 

hier sind einige Testfälle: http://jsbin.com/oruhu
(Sie können es hier bearbeiten: http://jsbin.com/oruhu/edit).

1
$("a[href='foo.com']").addClass('your_class') 
0

Trivial: $("a[href='http://foo.com']").addClass('foo'); Aber das setzt voraus, eine genaue Übereinstimmung auf der URL.

3

Wenn Sie Links zu verschiedenen Seiten auf der foo Domain:

<a href="http://foo.com/eggs.html"> 
<a href="http://foo.com/bacon.html"> 

dann können Sie einen Selektor wie folgen verwenden:

$("a[href^=http://foo.com/]").addClass("newClass") 

, die alle Links finden, die mit "http://foo.com/ starten " oder

$("a[href*=/foo.com/]").addClass("newClass") 

, die alle Links finden, die contain "/foo.com/"

+1

Ihrem Code fehlen Punkte '.' vor Ihrer addClass. – Mottie

+0

Korrigiert. Vielen Dank. –

Verwandte Themen