jquery hash funktioniert nicht

praktikant81

Mitglied
Hallo liebe Gemeinde,

ich habe ein kleines Problem und komme nicht weiter, da ich in google und co nichts darüber finde!

Und zwar möchte ich mit jquery bei click auf einen link den Hash auslesen um diesen per Ajax weiter zu senden. Leider kommt bei dem Code beim click nur "undefined" herraus!

Hier mal der Code:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="js/jquery-1.7.1.js"></script>
    <title>test</title>
    <script type="text/javascript">
	$(document).ready(function() {
        $('#menu li > a').click(function() {
		alert($(this).attr("hash"));
		var hash = $(this).attr("hash").substr(1);
		
		if(hash){
			$('#content').load("index.php", {id: hash});
		}
		return false;
		
		});
    });
	</script>
</head>
    <body>
    <div id="wrapper">
    <div id="header">Header</div>
    <div id="menu">
    	<ul>
            <li><a href="#test1">Test 1</a></li>
            <li><a href="'test2">Test 2</a></li>
            <li><a href="#test3">Test 3</a></li>
    	</ul>
    </div>
    <div id="content"><p>Huhu</p></div>
    <div id="footer"><p>Footer</p></div>
    </div>
    </body>
</html>

Danke schon mal im vorraus!
 
Hi,

das Link-Objekt kennt kein Attribut Namens "hash". Stattdessen musst du hier auf das href-Attribut zugreifen und den gewünschten Teil extrahieren.

Code:
$(document).ready(function() {
  $('#menu li > a').click(function() {
    var href = $(this).attr('href'),
        hash = href.substr(href.lastIndexOf("#"));

    if(hash){
      $('#content').load("index.php", {id: hash});
    }
    return false;
  });
});
Ciao
Quaese
 
Hi ,
danke für die schnelle Antwort, klappt super! Ich habe das mit dem "hash" aus nem Jquery Video-Training und da hat es super geklappt! Naja sei es drum so gehts jetzt!

Also noch mal tausend Dank******!!
 

Neue Beiträge

Zurück