Verwenden Sie .get (0) oder .html (), um HTML mit jQuery zurückzugeben

7

Soweit ich das beurteilen kann, wenn ich

habe %Vor%

und diese HTML woanders einpflanzen müssen, habe ich die Möglichkeit zu verwenden:
$('#thing').html(); oder $('#thing').get(0);

Gibt es einen größeren Internetstandard bei der Verwendung des einen oder anderen? Sie machen genau dasselbe, oder?

Danke für die Hilfe!

    
OldDrunkenSailor 17.11.2011, 00:17
quelle

8 Antworten

14
  

Sie machen genau dasselbe, oder?

Falsch. Die html -Methode gibt den Inhalt des ausgewählten Elements als Zeichenfolge zurück. Die Methode get gibt das Element selbst als Objekt zurück. Zum Beispiel haben wir dieses Element:

%Vor%

Die Methoden würden Folgendes liefern:

%Vor%

Sie können das selbst ausprobieren hier .

    
James Allardice 17.11.2011 00:19
quelle
7

.get(0) gibt Ihnen das erste Element im jquery-Objekt und nicht den darin enthaltenen HTML-Code. Sie müssten dann den HTML-Code bekommen. Wenn Sie jquery verwenden, verwenden Sie jquery. Ich sehe keinen Grund, .html() nicht zu verwenden.

    
James Montagne 17.11.2011 00:19
quelle
2

Wenn Sie einige Elemente duplizieren möchten, verwenden Sie nicht html . Es ist eine sehr ineffiziente Möglichkeit zum Klonen von Elementen. Es gibt einen viel besseren Weg, der clone (lustigerweise) heißt:

%Vor%

Beachten Sie, dass ich die Eigenschaft id entferne, da sie eindeutig sein muss.

    
lonesomeday 17.11.2011 00:21
quelle
2

Diese beiden Dinge ähneln einander (beachten Sie den Zusatz von .innerHTML zu dem, was Sie in Ihrer Frage hatten):

%Vor%

Der erste erstellt ein jQuery-Objekt und ruft danach die Methode .html () auf (die wiederum den HTML-Code von der .innerHTML -Eigenschaft erhält).

Die zweite erstellt ein jQuery-Objekt, ruft dann das erste DOM-Element ab und ruft die Eigenschaft innerHTML ab.

Wenn Sie bereits ein jQuery-Objekt haben, verwenden Sie .html() . Wenn Sie bereits ein DOM-Objekt haben, verwenden Sie .innerHTML .

    
jfriend00 17.11.2011 01:01
quelle
0

Ich habe nur .html () benutzt und arbeite für eine Firma. Ich habe nie gesehen, dass .get (0) für so etwas verwendet wird.

    
Kai Qing 17.11.2011 00:19
quelle
0

Sie sind ziemlich verschieden. Die Methode get gibt ein DOM-Element zurück, während html() eine Zeichenfolge zurückgibt. Hier sieht es so aus, als ob du den HTML-Code willst, also benutze html()

    
JaredPar 17.11.2011 00:20
quelle
0

Diese beiden Methoden sind unterschiedlich

get() Abrufen der DOM-Elemente, die vom jQuery-Objekt abgeglichen wurden. Sehen: Ссылка

html() Ermittelt den HTML-Inhalt des ersten Elements in der Menge der übereinstimmenden Elemente. Sehen: Ссылка

    
mikeycgto 17.11.2011 00:20
quelle
0

Nein, sie machen genau das nicht.

.html() gibt eine HTML-Zeichenfolge zurück, die die DOM-Struktur innerhalb des in jQuery enthaltenen Elements darstellt Sammelobjekt: "OMG, es gibt tolle Sachen hier drin".

.get(0) gibt das erste DOM-Elementobjekt aus der Auflistung zurück, in diesem Fall einen DOM-Knoten vom Typ DIV mit ID "Sache" und Kind Text-Knoten mit Wert "OMG gibt es tolle Sachen hier"

    
JAAulde 17.11.2011 00:20
quelle

Tags und Links