So erstellen Sie ein leeres jQuery-Ergebnis [duplicate]

Lesezeit: 1 Minute

Benutzer-Avatar
Nickf

Bearbeiten: Ab jQuery 1.4 mit $() wird wie unten beschrieben funktionieren.


Ich muss ein Array durchlaufen und eine Reihe von Elementen erstellen, die ich in einem einzigen jQuery-Ergebnisobjekt haben möchte.

for (var i = 0; i < 10; ++i) {
    $myJQueryObj = $myJQueryObj.add($("<span>blahblah</span>"));
}

Das Problem dabei ist jedoch, dass Sie zunächst ein jQuery-Objekt benötigen und dieses natürlich leer starten möchten. Wie soll ich im obigen Beispiel initialisieren? $myJQueryObj ?

Die folgenden Beispiele funktionieren nicht, da sie alle das Dokumentobjekt auswählen:

$('')
$()
$(null)
$(false)

Diese funktionieren … aber …

$('#nonExistantElement')  // yuck
$().slice(0,0)            // surely there's a nicer way?

Gibt es einen besseren Weg?

Ja. Versuchen $([]). Der Grund $() nicht funktioniert, liegt daran, dass jQuery einen Kontext erwartet und ohne Angabe standardmäßig verwendet wird document als Kontext. Viele Dinge hängen davon ab, dass diese Annahme wahr ist, sich also ändert $() “Gib mir die leere Menge” zu bedeuten, wäre bestenfalls problematisch.

Ah, ich habe es herausgefunden, kurz nachdem ich die Frage geschrieben hatte. Folgendes habe ich gefunden, falls es noch jemanden interessiert:

$([])

1185920cookie-checkSo erstellen Sie ein leeres jQuery-Ergebnis [duplicate]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy