Dies ist eine gute Verwendung für die function argument Version von .text()
:
$('#some_list li a').click(function() {
$(this).text(function(index, text) {
return text.replace('AAA', 'BBB');
});
});
Die Funktion Argumente Versionen vielen jQuery-Funktionen sind besonders geeignet für "Read-Modify-Write" -Operationen.
Sie vermeiden die Notwendigkeit separaten Code zu schreiben, um den Wert lesen, es ändern, und dann schreiben den Wert wieder in das DOM.
Die Alternative wäre so ausgesehen haben:
$('#some_list li a').click(function() {
var oldText = $(this).text();
var newText = oldText.replace('AAA', 'BBB');
$(this).text(newText);
});
Beachten Sie, wie diese .text()
zweimal jetzt nennt - einmal, um den Wert abzurufen, und dann wieder um den neuen Wert zu schreiben.
Wie in diesem Fall ist die Einsparungen nicht groß, aber die Methode ist besonders leistungsfähig, wenn Sie Dinge wie Attribute oder CSS-Werte ändern möchten, da es eine Menge Code-Wiederholung vermeidet.
Der andere Vorteil der Funktionsargumentmethode besteht darin, dass Sie Logik von DOM-Manipulation trennen können. Sie können triviale Modifikationsfunktionen schreiben, die nur das Ändern von Strings betreffen, und jQuery für die Handhabung der DOM-Manipulation belassen.
Sie haben ein 'ul' Element zwischen dem' div' und dem 'li', oder? –