Heim > Web-Frontend > js-Tutorial > JQuery Speed ​​Test: $ (this) .attr ('id'); vs this.id

JQuery Speed ​​Test: $ (this) .attr ('id'); vs this.id

尊渡假赌尊渡假赌尊渡假赌
Freigeben: 2025-02-23 09:19:10
Original
209 Leute haben es durchsucht

jQuery Speed Test: $(this).attr(

JQuery Speed ​​Test: $ (this) .attr ('id'); vs this.id

Führen Sie aus dem Geschwindigkeitstest $ (this) vs .get () vs .eq () ein Ich beschloss, einen kurzen Test durchzuführen, um die Geschwindigkeit von $ (this) .attr („ID“) zu vergleichen. vs this.id, der für native Attribute wie ID, SRC, HREF, Stil usw. verwendet werden kann, aber nicht für Eigenschaften wie BGColor, Daten usw.

Hintergrund

Im Kontext ändert sich dies jedoch im Allgemeinen: $ (dies) ist ein JQuery -Objekt, das Zugriff auf alle Jquery -API hat Dies ist ein Verweis auf das DOM -Element Verwenden Sie $ (this) für DOM -Elemente, die noch nicht erstellt wurden.

Geschwindigkeit

Dies ohne die JQuery -Wrapper ist im Großen und Ganzen etwas schneller. $ (this) .Attr („ID“): 42 ms this.id: 1m Ergebnisse anzeigen: https://jsfiddle.net/jquery4u/f9rp7/ Weitere Lektüre:
  • jQuery ist dieser entmystifizierte

häufig gestellte Fragen (FAQs) zu JQuery Speed ​​Test

Warum funktioniert JQuery's $ (this) .Attr ('id') langsamer als dies. Iid? beinhaltet mehr Verarbeitung. Die $ (this) .Attr („ID“) -Methode erstellt zunächst ein JQuery -Objekt aus dem DOM -Element und verwendet dann die ATTR () -Methode, um das ID -Attribut abzurufen. Andererseits greift dies direkt auf die ID -Eigenschaft des DOM -Elements zu, was schneller ist, da es weniger verarbeitet. Diese. Id in jQuery? $ (This) .Attr („ID“) ist jedoch eine JQuery -Methode, die den Attributwert nur für das erste Element im übereinstimmenden Satz erhält. Es gibt undefiniert für Werte undefinierter Attribute zurück. Andererseits ist dies eine reine JavaScript -Eigenschaft, die die ID eines Elements direkt erhält. Es gibt eine leere Zeichenfolge zurück, wenn die ID nicht definiert ist. hat kein ID -Attribut. Denken Sie daran, dass dies.ID direkt auf die ID -Eigenschaft des DOM -Elements zugreift. Wenn die ID nicht definiert ist, gibt sie eine leere Zeichenfolge zurück, die nicht undefiniert ist. Überprüfen Sie Ihren Code, um sicherzustellen, dass das Element ein ID -Attribut enthält. Verwendung von JQuery -Methoden, die mehr Verarbeitung beinhalten, wie z. B. $ (this) .attr ('ID'). Stattdessen können Sie reine JavaScript -Eigenschaften wie diese verwenden, die direkt auf die Eigenschaften der DOM -Elemente zugreifen. Versuchen Sie außerdem, Ihre JQuery -Objekte zu zwischenstrahlen, die Ereignisdelegation verwenden und Ihre Methoden nach Möglichkeit ketten.

Kann ich dies mit anderen Eigenschaften neben ID verwenden? Sie können beispielsweise diesen Klassennamen verwenden, um die Klasse eines Elements zu erhalten. Denken Sie daran, dass dies.Property direkt auf die Eigenschaft des DOM -Elements zugreift. $ (this) .attr ('id') und this.id sind mit allen modernen Browsern kompatibel. Dies ist jedoch auch mit älteren Versionen von Internet Explorer kompatibel, die JQuery nicht vollständig unterstützen.

In JavaScript wird auf ein Objekt nicht definiert, wenn eine Eigenschaft nicht definiert ist, und der Zugriff auf sie wird undefiniert zurückgegeben. DOM -Elemente haben jedoch einen vordefinierten Satz von Eigenschaften, einschließlich ID. Wenn das ID -Attribut nicht für ein DOM -Element festgelegt ist, greift der Zugriff auf diese.ID eine leere Zeichenfolge zurück, die nicht undefiniert ist. Ja, Sie können die ID eines DOM -Elements mit dieser ID in JavaScript festlegen. Beispielsweise setzt dies.id = "Newid" die ID des Elements auf "Newid". Seien Sie jedoch vorsichtig, wenn Sie die IDs dynamisch ändern, da dies zu Verwirrung und unerwartetem Verhalten in Ihrem Code führen kann. ID eines DOM -Elements in reinem JavaScript unter Verwendung der ID -Eigenschaft. Wenn Sie beispielsweise einen Verweis auf ein DOM -Element in einer Variablen namens Element haben, können Sie seine ID mit Element.ID. 'id')?

Verwenden Sie dies. ID anstelle von $ (this) .Attr ('id') kann die Leistung Ihres Codes verbessern, da es weniger verarbeitet. Es greift direkt auf die ID -Eigenschaft des DOM -Elements zu, während $ (this) .attr („ID“) das Erstellen eines JQuery -Objekts und die Verwendung der ATTR () -Methode zur Ermittlung der ID.

beinhaltet

Das obige ist der detaillierte Inhalt vonJQuery Speed ​​Test: $ (this) .attr ('id'); vs this.id. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage