2010-08-31 20 views
9

Me gusta, quiero comprobar si un enlace tiene un cierto dominio, o si ya tiene parámetros adjuntos al final.jQuery: ¿cómo puedo verificar si un atributo de elemento contiene parte de una cadena?

¿hay alguna forma de hacer una expresión regular como ~ = tal vez?

Actualmente, tengo

alert(ref); 
     $j("a[href*='mysite']").each(function(i){ 
      alert("hello"); 
      $j(this).attr('href',$j(this).attr('href') + "?ref=" + $j.cookie.get("tb_ref")); 
     }); 

pero el selector no está funcionando. (Nunca veo la alerta Hello, mas grano la alerta alert ref

mis a las etiquetas

<a href="http://domain.mysite.com/">yeah, link</a> 
<a href="http://google.com/">g, link</a> 
+0

Actualizado mi respuesta basada en su actualización de código. El selector funciona para mi código. ¿Tal vez haya otro problema? –

Respuesta

13

Utilice la substring/contains de selección:.

$("selector[name*='mystring']")

hallazgos atribuyen name = "somemystring "

Si usted está lo Oking de la palabra completa, delimitada por espacios, a continuación, utilizar los whole word selector:

$("selector[name~='mystring']")

hallazgos atribuyen name = "algún mystring es bueno"

EDITAR Tomé el código de arriba y creó un jsFiddle para él. Veo una alerta emergente de "Hola". (No hice una alerta para el alert(ref), ya que no sabía lo que era ref). Así que el selector funciona para sus atributos href. Alising jQuery es diferente de lo normal (normal = $, está usando $j). ¿Registraste este alias correctamente? Si usa $ o jQuery, ¿funciona entonces su código?

+0

casi, actualizaré mi pregunta para mostrarle lo que tengo hasta ahora. No puedo conseguir que funcione. – NullVoxPopuli

1

Si el enlace es <a id='link' href='www.google.com/myparam'></a> y desea saber si el enlace contiene myparam uso jQuery/javascript:

/myparam/.test($("#link").attr('href')) 
Cuestiones relacionadas