2009-11-11 11 views

Respuesta

10

para asegurarse de obtener http://foo.com, http://bar.foo.com/about, y no http://bazfoo.com, intente:

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

Aquí es una solución más fuerte con las expresiones regulares, esto es probablemente más lento, eso sí, pero comprueba el dominio está en el inicio :

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

Éstos son algunos casos de prueba: http://jsbin.com/oruhu
(se puede editar aquí: http://jsbin.com/oruhu/edit).

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

Trivialmente: $("a[href='http://foo.com']").addClass('foo'); Pero eso supone una correspondencia exacta en la URL.

3

Si usted tiene enlaces a páginas distintas en el dominio foo como:

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

continuación, se puede utilizar un selector de la siguiente manera:

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

que encontrará todos los enlaces que comienzan con "http://foo.com/ " o

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

que encontrará todos los enlaces que contiene "/foo.com/"

+1

Su código no contiene los períodos '.' antes de su addClass. – Mottie

+0

Reparado. Gracias. –

Cuestiones relacionadas