Warum versagen diese jQuery meiner HTML-Zeichenfolge laden / analysieren?
Frage
jQuery.get(window.location.href, function(data) {
alert(data);
alert($(data).html());
});
Das erste Pop-up ist die ganze HTML gut und gesund.
Der zweite Popup ist leer. Warum? (Die HTML ist XHTML-konform)
Lösung
Von den Dokumentation :
Der HTML-String kann nicht enthalten Elemente, die innerhalb einer unwirksam div, wie HTML, Kopf, Körper, oder Titelelemente.
Wenn Sie ein vollständiges HTML-Dokument zu holen, dann werden Sie viele Elemente, die nicht in einem div erscheinen.
Andere Tipps
Weil es eine Zeichenfolge mit allen HTML zurück. data
ist kein jQuery-Objekt.
Ich habe versucht, diese auf meinem PC. Sie erhalten wieder folgende Möglichkeiten:
"
<!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 id="Head1"><title>
</title><link href="App_Themes/selectors.css" rel="stylesheet" type="text/css" /></head>................etc
Dies wird nicht in ein jQuery obejct analysiert. Sie erhalten Bedürfnisse auf einer serverseitigen Skript Seite sein, die explizit Ausgabe von HTML.
Ich nehme an, wenn Sie wirklich ein Element in der HTML müssen dann Sie es aus dem Text mit den integrierten String-Methoden abstreifen können.
Ändern Sie Ihren Code so etwas wie dieses
$('#yourContainingDiv').html(data);
Die HTML-in-Daten werden in der Div-Tag platziert werden