2009-11-06 27 views

Respuesta

91

La pregunta del título y su ejemplo son completamente diferentes. Voy a empezar por responder a la pregunta del título:

$("a").removeAttr("href"); 

Y por lo que no requiere un href, la forma generalmente aceptada de hacer esto es:

<a href"#" onclick="doWork(); return false;">link</a> 

es necesario el retorno falsa para que el href en realidad no va a ninguna parte.

8

Si remove el href atributo, el delimitador no será enfocable y se verá como texto simple, pero seguirá siendo clicable.

+0

Está bien siempre que parezca texto sin formato, no como un hipervínculo o un botón. – Steven

18

Si desea que su anclaje a todavía parece ser hacer clic en:

$("a").removeAttr("href").css("cursor","pointer"); 

Y si desea quitar el href de la única ancla con ciertos atributos (por ejemplo, los que simplemente tienen una almohadilla como href - esto puede ser útil en asp.net)

$("a[href='#']").removeAttr("href").css("cursor","pointer"); 
+0

También es útil en Javascript, agregué puntero-eventos: ninguno también. $ ("a [href = '#']"). RemoveAttr ("href"). Css ("cursor", "puntero"). Css ("puntero-eventos", "ninguno"); – Khagan

7

Si quisiera eliminar el href, cambiar el cursor y también evitar hacer clic en él, esto debería funcionar:

$("a").attr('href', '').css({'cursor': 'pointer', 'pointer-events' : 'none'});

Cuestiones relacionadas