2016-03-23 7 views
0

Ich habe eine Klick-Methode, die wahrscheinlich mehrmals verwendet wird. Bei dieser Methode muss ich auf die id Schaltfläche zugreifen, auf die mehr als einmal geklickt wird. Zum Beispiel:Performance: Sollte ich eine Variable initialisieren oder 'this' verwenden?

$('.elemental-selection').click(function() { 
    if(currentElement !== $(this).attr('id')) { 
     if($(this).attr('id') === 'element-water') { 
     ... 
     } 
     else { 
     currentElement = $(this).attr('id'); 
     } 
    } 
}); 

Natürlich für lange if Blöcke konnte ich ein switch-statement verwenden, aber was ich bin neugierig, wenn der häufige Gebrauch von $(this) ist besser mit einem variabel sein $(this) (und was auch immer definiert substituiert sei Methode, die ich von ihm will). Von da an würde ich auf die Variable anstelle von this verweisen.

Also, was ist die bessere Entscheidung? Vielen Dank.

+0

einfach eine lokale Variable für dieses Attribut ID nicht verwenden jQuery verwenden und gehen Sie sicher, für 'this.id' direkt. – Bergi

+0

@Bergi Sie sind genau gleich. –

+0

Natürlich sind sie das, deshalb empfehle ich es als Ersatz. – Bergi

Antwort

0

Da Sie $ (this) .attr multiplite mal verwenden, bedeutet dies, dass jQuery die Auswahl mehrmals durchführen muss.

Es wäre besser, einmal eine Variable für die $ (this) .attr ('id') zu erstellen, da Sie nur die Methoden ausführen müssen, um die attr einmal zu erhalten.

Auch

+0

Danke! Genau die Informationen, nach denen ich gesucht habe. Ich würde abstimmen, aber ich kann mir nicht vorstellen, wie ich den Repräsentanten dazu bringen soll. Wie auch immer, nochmals vielen Dank! –

+0

Sie brauchen keine Wiederholung. Klicken Sie einfach auf das Häkchen neben der Antwort @stackovertrolle – Andy

+0

Oh. Sagt, ich muss 4 Minuten warten lol. –

Verwandte Themen