2009-11-06 12 views

Odpowiedz

91

Twoje pytanie tytułowe i twój przykład są zupełnie inne. Zacznę od odpowiedzi na tytułowe pytanie:

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

I o ile nie wymagające href, ogólnie przyjętym sposobem osiągnięcia tego celu jest:

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

Zwrot fałszywy jest konieczne, aby href właściwie nigdzie nie idzie.

8

Jeśli masz remove atrybut href, to zakotwiczenie nie będzie możliwe do ustawienia i będzie wyglądać jak zwykły tekst, ale nadal będzie można go kliknąć.

+0

Jest ok, o ile wygląda na zwykły tekst, a nie jako hiperłącze lub przycisk. – Steven

18

Jeśli chcesz, aby kotwica wciąż wydają się być klikalny:

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

A jeśli chciał usunąć href łączników tylko z pewnych atrybutów (np te, które po prostu znak hash jako href - może to być przydatne w ASP.NET)

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

Również przydatne w JavaScript, dodałem wskaźniki zdarzeń: brak również. $ ("a [href = '#']"). RemoveAttr ("href"). Css ("kursor", "wskaźnik"). Css ("wskaźnik zdarzenia", "brak"); – Khagan

7

Jeśli chcesz usunąć href zmienić kursor, a także zapobiec kliknięcie na niego, to powinno działać:

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