2016-07-13 31 views
1

Gibt es eine Möglichkeit, den Hashwert von einem Anchor-Tag wie <a href="#menu1">Link</a> zu erhalten, das nicht an die URL angehängt wird, wenn darauf geklickt wird (example page)? Ich würde normalerweise location.hash verwenden, was in diesem Fall leider nicht funktioniert.Wie kann ich auf einen Hash zugreifen, der nicht an die URL angehängt ist?

Ich möchte so etwas wie dies tun:

if(click_on_anchor_link) { 
     var hash= document.location.hash; 
     return hash; 
    } 
+0

Was bedeuten Sie durch Abrufen der Hash-Wert ? Willst du 'menu1'? – LeDoc

+0

Sie können den Anker und getAttibute ('href') auswählen. Wenn Sie jedoch durch Klicken auf diesen Link den Hash nicht in der URL oben im Browser erscheinen lassen, haben Sie irgendwo einen anderen Fehler. – Shilly

+0

Sie müssen eine [MCVE] angeben, ansonsten wird die Fragmentkennung ** an die URL angehängt, wenn auf die Verknüpfung geklickt wird. Sie müssen auch ** erklären, wenn ** Sie die Fragmentkennung erhalten möchten. – Quentin

Antwort

3

Ja, Sie können mithilfe von hash Eigenschaft:

var a = document.createElement('a'); // or getElementById or whatever 
 
a.href = '#menu1'; 
 
console.log(a.hash); //#menu1 
 

 
a.href = 'http://example.com/myPage#menu2'; 
 
console.log(a.hash); //#menu2