Wie lässt jQuery den zurückgegebenen Wert wie ein Array aussehen?

8
%Vor%

Ich weiß, dass Sie so etwas tun können:

%Vor%

Um eine "erweiterte" Version des NodeList das von document.getElementsByTagName zurückgegeben wurde.

jQuery macht jedoch das Gegenteil. Es führt das Ergebnis in sich zusammen (wie man hier und hier ). Darüber hinaus erklärt das nicht, wie es ein arrayähnliches Objekt zurückgibt, das wie ein Array aussieht, wenn Sie ihm nichts übergeben:

%Vor%

Wenn Sie das tun, gibt jQuery sich selbst zurück. ( Quelle )

Oder in gleichem Maße, wenn Sie das body-Tag auswählen:

%Vor%

( Quelle )

Oder, um darüber nachzudenken, irgendetwas überhaupt:

%Vor%

Das Zurückgeben arrayähnlicher Objekte ist sehr einfach, da die Zuweisung numerischer Schlüssel trivial ist und sich nicht von der Zuweisung anderer Schlüssel unterscheidet. Aber wie sieht jQuery aus wie ein Array?

    
Zirak 21.10.2011, 07:20
quelle

2 Antworten

7

Sie müssen .length , .splice und .push für einen Prototyp definieren, damit dieser wie ein Array angezeigt wird.

Eine andere Kombination von Array-Methoden funktioniert möglicherweise ebenfalls.

Beispiel

    
Raynos 21.10.2011, 09:59
quelle
0

Was ist Ihrer Meinung nach "ein Array?"? Wie würdest du auf Arraykeit achten? Wenn Sie alles mit einer Länge als Array betrachten, müssen Sie nur ein Objekt wie ein Array definieren, um die length -Eigenschaft zu definieren. jQuery macht das.

    
bjornd 21.10.2011 07:29
quelle

Tags und Links