Wie bekomme ich den HTML-Code eines Bildes mit jQuery?
Ich möchte dies als die Ausgabe:
%Vor%Ich versuche das, aber ich bekomme eine leere Zeichenfolge (oder null):
%Vor%Der folgende gibt das Objekt zurück, aber ich möchte den html
%Vor%Wie mache ich das?
Wenn ich es mit
versuche %Vor% Ich bekomme die richtige Quelle des Bildes ( pokerface.png
), also weiß ich, dass es das richtige Element ist.
Wenn das Bild das einzige Element innerhalb des Containers ist, können Sie dies tun:
%Vor%Andernfalls können Sie ein Dummy-Element erstellen und das Objekt img anhängen, um den Wert für hml () zu erhalten.
%Vor%Die Lösung wird hier vorgeschlagen Wie konvertiert man ein jQuery-Objekt in eine Zeichenfolge?
Sie suchen effektiv nach outerHTML
(in den Browsern, die dies unterstützen):
Dies wird natürlich ein Array des img
-Elements HTML zurückgeben; Dadurch kann jQuery alle die relevanten Informationen zusammenstellen, anstatt explizit mit get()
durch die übereinstimmende Menge zu iterieren oder Klammernindex-Indizes [n]
Und ein einfaches (ernsthaft, es ist sehr einfaches) Plugin, um die outerHTML
der übereinstimmenden Elemente abzurufen:
Beachten Sie, dass das obige ein Array zurückgibt, während jQuery-Getter normalerweise nur das erste -Element einer übereinstimmenden Menge zurückgeben. Wenn Sie das bevorzugen, können Sie die letzte Zeile ändern des Plugins zu:
%Vor% Oh, und offensichtlich (wie .text()
und andere Getter-Methoden) kann diese explitely nicht verkettet werden, da sie ein Array oder eine Zeichenkette (wenn Sie es bevorzugen) nicht das jQuery-Objekt zurückgibt .
Referenzen:
Array.push()
. document.createElement()
. Node.appendChild()
. Node.cloneNode()
. outerHTML
. outerHTML
Kompatibilität .