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

War es hilfreich?

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 ().

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top