Frage
Dies könnte eine einfache Antwort, aber ich einige Probleme habe diese kleine Last Skript zu schreiben ... Ich glaube, ich habe einen Fehler irgendwo, ich kann es das div zu löschen bekommen, aber die Seite nicht geladen:
JQuery:
$(document).ready(function() {
//Load content
$(".load").click(function(){
$("#content").empty();
loadName = $(this).find("a").attr("id");
$("#content").load("/content/" + loadName + ".php");
});
});
HTML:
<div id="select">
<div id="menu">
<ul>
<li><a class="load" href="javascript:void(0)" id="project1">Project 1</a></li>
<li><a class="load" href="javascript:void(0)" id="project2">Project 2</a></li>
</ul>
</div>
</div>
<div id="content"></div>
sowohl die PHP-Dateien auf einem Link befinden sich wie so (man beachte das sind nur Dummy-Name und nicht die tatsächlichen Verbindungen):
http://www.hostname.com/content/project1.php
http://www.hostname.com/content/project2.php
Lösung
da Sie $('.load')
definiert sind, brauchen Sie nicht find('a')
für $(this)
zu tun. Verwenden Sie einfach $(this).attr('id')
Andere Tipps
Ich denke, Ihre loadName Linie dies sein sollte:
var loadName = $(this).attr("id"); // didn't see a declaration in your code
jQuerys find () "nicht die ausgewählten Elemente suchen, nur deren Nachkommen."
Sieht aus wie Sie bereits haben "this" in Ihrem "a" Elemente zeigen, so loszuwerden, die find ().