Ich habe zwei Möglichkeiten, wie ich eine erstellen kann <div>
VerwendungjQuery
.
Entweder:
var div = $("<div></div>");
$("#box").append(div);
Oder:
$("#box").append("<div></div>");
Was sind die Nachteile der Verwendung des zweiten Weges außer der Wiederverwendbarkeit?
.html
, aber nicht.append
im 2. Fall?Antworten:
Die erste Option bietet Ihnen mehr Flexibilität:
Und natürlich
.html('*')
überschreibt der Inhalt, obwohl.append('*')
dies nicht der Fall ist, aber ich denke, das war nicht Ihre Frage.Eine weitere bewährte Methode besteht darin, Ihren jQuery-Variablen Folgendes voranzustellen
$
:Gibt es einen bestimmten Grund für die Verwendung von $ with variable in jQuery?
Wenn Sie den
"class"
Eigenschaftsnamen in Anführungszeichen setzen , ist er mit weniger flexiblen Browsern kompatibler.quelle
$
Meiner Meinung nach ist es auch eine gute Vorgehensweise, jQuery-Sammlungsnamen mit einem " " zu beginnen . Nur zu beachten, dass das, was Sie getan haben, nicht erfordert$div
:$("<div>", {id: 'foo', class: 'a', click: function () {}}).appendTo("#box");
$div
. Ich habe diese Syntax noch nie gesehen, bin aber neu bei Jquery.$("<div>", {id: "foo", class: "a"});
. Ich möchte wissen, ob es andere Möglichkeiten dafür gibtIch persönlich denke, dass es wichtiger ist, dass der Code lesbar und bearbeitbar ist als performant. Welches Sie leichter sehen können und welches Sie für die oben genannten Faktoren auswählen sollten. Sie können es schreiben als:
Und deine erste Methode als:
Aber was die Lesbarkeit betrifft; Der jQuery-Ansatz ist mein Favorit . Befolgen Sie diese hilfreichen jQuery-Tricks, Hinweise und Best Practices
quelle
Viel ausdrucksstärker,
Referenz: Docs
quelle
class
sollte gemäß den Dokumenten in Anführungszeichen stehen (über den obigen Link "Dokumente"): "Der Name" class "muss im Objekt in Anführungszeichen gesetzt werden, da es sich um ein reserviertes JavaScript-Wort handelt, und" className "kann nicht verwendet werden, da es auf die DOM-Eigenschaft verweist , nicht das Attribut. "Laut der offiziellen Dokumentation von jQuery
So erstellen Sie ein HTML-Element
$("<div/>")
oder$("<div></div>")
wird bevorzugt.Dann können Sie entweder
appendTo
,append
,before
,after
und etc ,. um das neue Element in das DOM einzufügen.PS: jQuery Version 1.11.x.
quelle
Gemäß der Dokumentation zu 3.4 wird es bevorzugt, Attribute mit
attr()
Methode zu verwenden.quelle
class
Anführungszeichen setzen, schlägt dies stillschweigend fehl und kann zu Wahnsinn führen.Ich würde die erste Option empfehlen, bei der Sie tatsächlich Elemente mit jQuery erstellen. Der zweite Ansatz setzt einfach die innerHTML-Eigenschaft des Elements auf eine Zeichenfolge, die zufällig HTML ist und fehleranfälliger und weniger flexibel ist.
quelle
Wenn
#box
es leer ist, nichts, aber wenn es nicht ist, machen diese sehr unterschiedliche Dinge. Ersteres fügt einendiv
als letzten untergeordneten Knoten von hinzu#box
. Letzteres ersetzt den Inhalt von vollständig#box
durch ein einzelnes Leerzeichendiv
, Text und alles.quelle
Es ist auch möglich, ein div-Element auf folgende Weise zu erstellen:
Klasse hinzufügen
kann auch durchführen
append()
undappendChild()
quelle