2012-11-29 7 views
5

Ich benutze AJAX über jQuery, um eine Anfrage zu bekommen. Bei Erfolg platziere ich das Ergebnis in eine div:Teil der jQuery Callback-Behandlung rückgängig macht meine Aussage

$.get("content.php", function(result) { 
    $('#content').html(result); 

Der Inhalt ich anfordernden bin selbst HTML und hat zwei divs, #article_name und #article_content. Nachdem es geladen ist, überprüfe ich, ob #article_content irgendwelche Kinder hat. Wenn dies nicht der Fall, füge ich einen <p> Block:

if (!$('#article_content').children().length) { 
    $('#article_content').html('<p>(Click here to enter text)</p>'); 
    } 
} 

Das funktioniert, bis JavaScript, um die Callback-Funktion verlässt. Das heißt, nach meiner Bedingung wird der <p> Block hinzugefügt; Aber wenn ich im Inspektor von Chrome durchgehe, taucht es in den Callback-Bereich von jQuery ein, und bis es durch den Block <p> verschwindet, verschwindet es.

Ich habe meine Bedingung in der Konsole ausgeführt, um sicherzustellen, dass es nicht das Problem ist.

+3

Bitte erstellen Sie eine http://jsfiddle.net/demo. Es ist schwer zu helfen, ohne mehr Code zu sehen. –

+0

ich würde es mit append() anstelle von html() – Mik

+0

versuchen, die es nicht getan haben. Wenn ich den bedingten Code von der Konsole aus starte, funktioniert es. Es hat etwas mit dem Callback-Teil von $ .get zu tun. –

Antwort

0

Ich hatte die Bestellung falsch - Ich legte meine Bedingung vor dem Code, der den Inhaltsbereich aktualisiert.

Soll ich diese Frage löschen?

Verwandte Themen