2010-06-02 18 views
5

Tengo el siguiente código HTML en el back-end, es decir.Cómo capturar un clic en un valor href usando jQuery

<div class="navi"> 
    <a class="" href="0"></a> 
    <a class="" href="1"></a> 
    <a class="" href="2"></a> 
    <a class="" href="3"></a> 
</div> 

Disculpas por la pregunta básica pero me gustaría utilizar jQuery para capturar clic del usuario cuando sólo haga clic en el valor href de "0"

Básicamente desea ocultar un div llamado "info" cuando el usuario hace clic en donde href = "0"

¿No sabe cómo hacerlo?

Gracias.

Respuesta

8

Puede utilizar el attribute-equals selector, como esto (aunque no creo que sea una válida href):

$("a[href=0]").click(function() { 
    $("#info").hide(); 
}); 

Un mejor enfoque, si es posible, sería dar la <a> una mejor href que los puntos a la <div>, así:

<div class="navi"> 
    <a class="" href="#info"></a> 
    <a class="" href="#info1"></a> 
    <a class="" href="#info2"></a> 
    <a class="" href="#info3"></a> 
</div> 

a continuación, se puede utilizar un controlador de clic más genérico, en relación con el correspondiente <div> así:

$(".navi a").click(function() { 
    $(this.hash).toggle(); 
}); 

Esto sería alternar <div id="info"> al hacer clic en el enlace href="#info", el mismo o los demás ... si sus enlaces se refieren todas a divs, este es un mucho mejor camino a seguir, y que se degrada con gracia con JavaScript desactivado .

+0

Creo que deberías 'devolver falso; 'en ese ...;) – Reigel

+0

@Reigel - Actualmente va a la ubicación de ese div en la página, si no lo deseas puedes' devolver falso; 'o' e .preventDefault(); ', pero por lo general * no * quiere, la forma en que le permite montar este div que muestra si pulsa F5, por ejemplo, o marcadores, etc ... la navegación Hash tiene muchos usos. Recuerde que si se trata de un enlace hash, no abandonará la página. –

+0

ahhh bueno, buen punto Nick;) – Reigel

Cuestiones relacionadas