2013-07-23 11 views
11

Próbuję zwrócić atrybut href łącza za pomocą JavaScript, gdy użytkownik kliknie na niego. Chcę, aby URL, do którego prowadzi link, wyświetlał się w alarmie, zamiast ładować stronę.JavaScript get href onclick

Mam następujący kod do tej pory:

function doalert(){ 
    alert(document.getElementById("link").getAttribute("href")); 
    return false; 
} 

z następującymi znacznikami:

<a href="http://www.example.com/" id="link" onclick="return doalert()">Link</a> 

z jakiegoś powodu, nie alert jest zawsze wyświetlany i wczytywania strony zamiast. Czy ktoś wie, dlaczego tak jest?

Korzystanie z jQuery nie jest w tym przypadku opcją.

Odpowiedz

23

Wydaje się być kolejność kodu, spróbuj tego

<script> 
    function doalert(obj) { 
     alert(obj.getAttribute("href")); 
     return false; 
    } 
</script> 
<a href="http://www.example.com/" id="link" onclick="doalert(this); return false;">Link</a> 

http://jsfiddle.net/YZ8yV/

http://jsfiddle.net/YZ8yV/2/

+0

+1 dla 'return false;' w 'onclick' – ferdynator

+0

To wygląda tak samo jak kod w pytaniu dla mnie –

+0

@akhil to jest, ale ze znacznikami script, podświetlanie nie ma błędu js code –

0

jeśli umieścisz w łączu href, po prostu połączysz go, zmienisz atrybut href na link danych, a następnie uzyskasz ten atrybut, a js powinien działać.

Powiązane problemy