Frage

Ich habe Mühe, hier die richtige Terminologie zu finden, aber wenn Sie ein jQuery-Objekt haben ...

$('#MyObject')

...ist es möglich, das Basiselement zu extrahieren?Das heißt, das Äquivalent davon:

document.getElementById('MyObject')
War es hilfreich?

Lösung

Ja, verwenden .get(index).Entsprechend der Dokumentation:

Der .get() Die Methode gewährt Zugriff auf die DOM-Knoten, die jedem jQuery-Objekt zugrunde liegen.

Andere Tipps

$('#MyObject').get(0);

Ich denke, das ist es, was du willst.Ich denke, Sie können es auch wie ein normales Array referenzieren mit:

$('#MyObject')[0];

Aber ich bin mir nicht sicher, ob das immer funktionieren wird.Bleiben Sie bei der ersten Syntax.

Ein jQuery-Objekt ist eine Reihe von Elementen.In Ihrem Fall eine Menge aus einem Element.Dies unterscheidet sich von bestimmten anderen Bibliotheken, die einzelne Elemente umschließen und eine alternative Syntax für Selektoren bereitstellen, die mehrere Übereinstimmungen zurückgeben.

Aaron W Und VolkerK bereits erklärt, wie man auf das erste (Index 0) Element in der Menge zugreift.

Ich habe Aarons Aussagen auf allen Browsern getestet, die auf meiner Box verfügbar sind:

$('#MyObject').get(0);

vs

$('#MyObject')[0];

Soweit ich das beurteilen kann, ist es nur eine Frage der persönlichen Präferenz.

Funktionell sind diese beiden Anweisungen sowohl für vorhandene als auch für nicht vorhandene Elemente gleichwertig.Ich habe folgende Browser getestet:Chrome 27.0, FF 21.0, IE10, IE9, IE8, IE7, IE6.

Bei den von mir durchgeführten Geschwindigkeitstests war es nicht immer möglich zu erkennen, welche Variante schneller war;Das Ergebnis war nicht immer konsistent, selbst im selben Browser.Für die Geschwindigkeitstests habe ich nur vorhandene Elemente getestet.Meine Testergebnisse sind Hier.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top