2010-12-03 37 views

Respuesta

361

Para obtener o establecer un atributo de un elemento HTML, puede usar la función element.attr() en jQuery.

Para obtener el href atributo, utilice el siguiente código:

var a_href = $('selector').attr('href'); 

Para establecer el atributo href , utilice el siguiente código:

$('selector').attr('href','http://example.com'); 

En ambos casos, por favor utilice el selector apropiado Si ha configurado la clase para el elemento de anclaje, use '.class-name' y si ha configurado la identificación para el elemento de anclaje, use '#element-id'.

+1

Lo usé para obtener href. Alerta ($ ("# publish-link"). Attr ("href")); Y me dio una alerta "indefinida". – gautamlakum

+3

, probablemente signifique que su publicación-enlace es una clase en lugar de una identificación. try: alert ($ (". publish-link"). attr ("href")); en su lugar –

+3

@ lakum4stackof: Ayudaría si publica la etiqueta exacta < a > que está utilizando aquí :) –

14

Establecer el atributo href con

$(selector).attr('href', 'url_goes_here'); 

y leerlo usando

$(selector).attr('href'); 

Donde "selector" es cualquier selector de jQuery válido para el elemento de <a> (".myClass" o "#myId" para nombrar los más simples).

Espero que esto ayude!

+0

Lo usé para obtener href. alerta ($ ("# publish-link"). attr ("href")); Y me dio alerta "indefinido". – gautamlakum

+0

@ lakum4stackof lo más probable es que haya ejecutado ese código de alerta ANTES de configurar el atributo 'href', suponiendo que su selector sea el correcto. –

+2

try: alert ($ (". Publish-link").attr ("href")); como su elemento puede ser una clase en lugar de una identificación. de hecho, probablemente usando $ (esto) si está dentro de su evento –

13

En jQuery 1.6 + es mejor utilizar:

$(selector).prop('href',"http://www...") a conjunto el valor, y

$(selector).prop('href') a obtener el valor

En resumen, .prop Obtiene y establece los valores de el objeto DOM y .attr obtiene y establece valores en el HTML. Esto hace que .prop sea un poco más rápido y posiblemente más confiable en algunos contextos.

+0

de acuerdo '.prop' obtendrá una ruta completa como: http: //www.../index.html mientras que .attr solo obtendrá: 'index.html' – DevWL

1
<style> 
a:hover { 
    cursor:pointer; 
} 
</style> 

<script type="text/javascript" src="lib/jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $(".link").click(function(){ 
     var href = $(this).attr("href").split("#"); 
     $(".results").text(href[1]); 
    }) 
}) 
</script> 



<a class="link" href="#one">one</a><br /> 
<a class="link" href="#two">two</a><br /> 
<a class="link" href="#three">three</a><br /> 
<a class="link" href="#four">four</a><br /> 
<a class="link" href="#five">five</a> 


<br /><br /> 
<div class="results"></div> 
+1

Las respuestas de solo código no son tan útiles como las respuestas que funcionan código más explicaciones útiles. En este caso, valdría la pena explicar esta respuesta a un niño de 5 años. –

Cuestiones relacionadas