Die Kombination von jQuery.load() und ajax-dataFilter()
War ich mit jQuery.load() zum laden einer html-Seite der Inhalt in einer lightbox. Die nützlichste Sache, die Last in diesem Beispiel dreht sich die vollständige html-Seiten sauber in ein html-fragment werden in die Seite eingefügt.
Aber (weil ein buggy 3rd-party-API, das wird nicht funktionieren, wenn die dynamisch geladen), muss ich zunächst mit einer regex zu filtern, die eine oder zwei Elemente von der Seite, bevor es als html verarbeitet, was bedeutet, dass ich den dataFilter-option von $.ajax.
So, jetzt bin ich mit $.ajax statt .laden muss ich meine konvertieren " gefilterter text in die sauberen html-Code .laden liefert automatisch
Aber $(response) generiert eine seltsame buggy jQuery-Objekt, wo .finden () Kinder (), etc... nicht funktionieren.
Kann mir jemand sagen, wie man die sauberen html-Code brauche ich (merke, dass ich den ajax code injQuery hat sich viel verändert von v 1.4.4 1.5 - eine Lösung mit entweder version tun würde)
Hier ist, was ich bisher (mit jQuery 1.4.4) (alle Variablen und Methoden verwiesen werden, die oben definiert in diesem code)
$.ajax({
url: url,
type: "GET",
dataType: "html",
dataFilter: function (response) {
return response.replace(recaptchaRegex, "");
},
success: function (response) {
//If successful, inject the HTML into all the matched elements
//See if a selector was specified
destination.html($(response).children("#lightBoxForm"));
callback();
}
});
InformationsquelleAutor wheresrhys | 2011-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gut sehe ich dies gefragt wurde, vor einer Weile, aber das wird hoffentlich noch nützlich sein für Sie. Aus Ihrer Frage verstehe ich, die Sie replizieren möchten die $.load-Funktion mit dem $.ajax-Funktion statt.
Einem Werkzeug, das Sie nützlich finden könnten in der Zukunft zu verwenden, ist die jQuery source viewer, so dass Sie genau sehen können, was jQuery ist, die Dinge unter der Haube.
Und meine html -
InformationsquelleAutor Nicky Waites