Div Inhalt ändern

Hallo!
Ich würde gerne den Inhalt meines DIV durch einen anderen austauschen, wenn bei meinem Menü auf „HSP Doku“ geklickt wird. (das Menü hab ich von einer Seite übernommen)
Jedoch funktioniert das leider nicht :confused: Weis jemand wieso?

$(document).ready(function() { $("#sdt_menu.std_box a, #l a").live("click",function() { var pageToLoad = $(this).attr("href"); var pageContent; $.get(pageToLoad, function(data) { pageContent=data; $("#l").fadeOut("slow", function() { $("#l").html(pageContent).fadeIn("slow"); }); }); return false; }); });

[HTML]

[/HTML]

LG

Ich würde glatt behaupten das Element mit der Id l fehlt. Du sagst er soll den Inhalt in das Element mit der Id l schreiben. Da dieses nicht existiert, kann auhc nicht passieren :wink:
Hier ist übrigens das HTML in schöner Form :slight_smile:

[html]

[/html]

Hallo!
Danke für die schnelle Antwort, das Element mit der ID „l“ ist direkt unter dem Menü…
[HTML]

Hier steht der 1. Text

[/HTML]

lg

Probier es mal ohne fadeOut/fadeIn, also per direkter Übergabe an html(). Geht es dann?

Hallo!
nein, auch dann geht es nicht. Es leitet mich immer direkt zu der nächsten Seite…

Lg

Also, erst mal ist dein Selektor verkehrt. Außerdem bekommst du beim Laden externer Seiten gerne Probleme mit der Same origin policy.

[html]

<head>
    <meta charset="utf-8" />
    <title>New</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
    <script type="text/javascript">
        /*<![CDATA[*/

$(document).ready(function()
{
$(„#sdt_menu .sdt_box a, #l a“).live(„click“,function()
{
var pageToLoad = $(this).attr(„href“);

$.get(pageToLoad, function() {
    alert("success");
})
.success(function(data) {
    $("#l").fadeOut("slow", function()
    {
        $("#l").html(data).fadeIn("slow");
    });
})
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });

return false;

});
});

        /*]]>*/
    </script>
</head>

<body>

Hier steht der 1. Text

</body>
[/html]

Interessant im Beispiel sind die letzten beiden Links. Den zweiten davon zum Test auf eine lokal existierende Ressource ändern.

@mermshaus: Danke für diene Rückmeldung. Wenn ich auf den Externen Link drücke, werde ich auf die Seite weitergeleitet.

[CODE]

[TEST SOP] [TEST lokal]
[/CODE] Bei der lokalen Seite werde ich auch auf die Lokale weitergeleitet. Gewünscht wäre aber der content von "hspdoku.html" (im code) im div mit der id "l"... Schön langsam verzweifle ich :O

LG

Wie gesagt:

Außerdem bekommst du beim Laden externer Seiten gerne Probleme mit der Same origin policy.

Siehe dazu auch die jQuery-Doku unter „Additional Notes“.

Der Aufruf von Seiten auf der gleichen (Sub-)Domain sollte aber eigentlich möglich sein. (Ist vielleicht Einstellungssache im Browser.)

Ein einfacher Workaround wäre es, nicht direkt den nachgefragten URL abzurufen, sondern ein Script auf der Domain, dem der URL als Parameter übergeben wird, als Proxy zu nutzen, also es die nachgefragte Seite auslesen und zurückliefern zu lassen.

Eventuell geht es auch irgendwie mit JSONP - Wikipedia, the free encyclopedia.

Mehr fällt mir spontan nicht ein.

Zu deinem Edit:

Gewünscht wäre aber der content von „hspdoku.html“ (im code) im div mit der id „l“…

Bei mir im Test funktionierte das so. Eventuell reicht das return false; nicht unter allen Umständen.

event.preventDefault() könntest du mal probieren.