2017-02-03 1 views
0

JQuery das erste Element mit einer Wahl erhalten:jquery das erste Element erhält in der Reihenfolge des Dokuments

aElement.find(".ui-foo").first(); 

Wenn das Dokument groß ist und viele Elemente mit ui-foo hat, ist die Leistung nicht ideal. JQuery sollte aufhören zu suchen, nachdem der erste gefunden wurde. Gibt es einen besseren Weg, das erste Element zu bekommen?

+0

Vielleicht 'aElement.find (". Ui-foo: first ")' mit dem [jQuery ': first' Selektor '] (https://api.jquery.com/first-selector/)? Ich bin mir nicht sicher, ob das leistungsfähiger ist, weil es intern wahrscheinlich dasselbe tut. Sie können jederzeit [jspeft.com] (https://jsperf.com/) aufrufen, um die Leistung zu vergleichen. –

+0

@JoshCrozier Hinweis: ': first' ist ein jQuery-Selektor, kein' css'-Selektor, außer für 'css'' @ page'-Pseudoklasse. – guest271314

+0

@ guest271314 - Huh? Ich habe nie gesagt, dass es sich um einen CSS-Selektor handelt ... Ich habe klar gesagt, dass es sich um einen jQuery-Selektor handelt, und ich habe mit der relevanten jQuery-Dokumentation verknüpft. –

Antwort

0

Ich denke, das wäre schneller, aber nicht sicher. Habe es noch nicht getestet.

aElement.find(".ui-foo")[0] 
+0

Die Verwendung von '.find()' würde die Zeit für die Rückgabe des Ergebnisses nicht verringern. 'jQuery()' liefert Ergebnisse in kürzerer Zeit als '.find()'. – guest271314

0

Wenn Sie für Performance-Sicht suchen und Sie sind nicht in der Lage unter Berücksichtigung ID in dieses Feld hinzufügen kann, müssen Sie Javascript Ebene für dieses spezielle Szenario verwenden. Wird also

var divs = document.getElementsByClassName('ui-foo'), 
requiredDiv=divs[0]; 

mit mehr Leistung optimiert werden. Denken Sie immer daran: Wenn Sie eine Bibliothek für solche einfachen Aktionen verwenden, erhöht sich der Aufwand für die Berechnung.

Verwandte Themen