Zunächst mal, ich habe diese Frage auch im offiziellen JQuery-Forum gestellt:
http://forum.jquery.com/topic/how-ca...t-by-reference
Da ich aber zum einen kein JavaScript-Experte bin und nicht weiß, ob mein Problem klassisches JavaScript-Verhalten oder JQuery-spezifisch ist, und zum anderen in der Vergangenheit bei Fragen im JQuery-Forum noch nie eine zufriedenstellende Antwort erhalten habe, stelle ich die Frage auch hier nochmal.
Falls das nicht ok sein sollte entschuldige ich mich schonmal und bitte um Schließung/Verschiebung/Löschung des Threads.
Sollte im JQuery-Forum eine Lösung kommen, werde ich diese natürlich umgehend auch hier posten (und umgekehrt).
Mein Problem:
Ich möchte den Inhalt eines HTML-Elements auslesen und in einer Variablen speichern.
Danach möchte ich den Inhalt des HTML-Elements ändern. Dabei wird mir aber der Inhalt der Variablen mitgeändert. Das heißt die Variable wird wohl als Referenz auf den HTML-Inhalt angelegt.
Hier der Code:
Die beiden console.log()'s spucken mir bei einem Klick auf .editable-target vier Zeilen aus (Gott weiß wieso, ich hätte zwei erwartet, die Zuweisung $(this).html('bla') scheint, aus welchen Gründen auch immer, die console.log()'s ein zweites Mal zu triggern).
Sagen wir in .editable-target steht eine 52. Dann bekomme ich in der console ausgegeben:
52
52
bla
NaN
Hat irgendjemand eine Idee, wie ich es hinbekomme, dass in currentTargetValue die 52 stehen bleibt?
http://forum.jquery.com/topic/how-ca...t-by-reference
Da ich aber zum einen kein JavaScript-Experte bin und nicht weiß, ob mein Problem klassisches JavaScript-Verhalten oder JQuery-spezifisch ist, und zum anderen in der Vergangenheit bei Fragen im JQuery-Forum noch nie eine zufriedenstellende Antwort erhalten habe, stelle ich die Frage auch hier nochmal.
Falls das nicht ok sein sollte entschuldige ich mich schonmal und bitte um Schließung/Verschiebung/Löschung des Threads.
Sollte im JQuery-Forum eine Lösung kommen, werde ich diese natürlich umgehend auch hier posten (und umgekehrt).
Mein Problem:
Ich möchte den Inhalt eines HTML-Elements auslesen und in einer Variablen speichern.
Danach möchte ich den Inhalt des HTML-Elements ändern. Dabei wird mir aber der Inhalt der Variablen mitgeändert. Das heißt die Variable wird wohl als Referenz auf den HTML-Inhalt angelegt.
Hier der Code:
Code:
$(function(){
var editedTarget = null;
var currentTargetValue = 0;
$(".editable-target").click(function(){
editedTarget = $(this);
console.log($(this).html());
currentTargetValue = parseInt($(this).html(),10);
console.log(currentTargetValue);
$(this).html('bla')
});
});
Sagen wir in .editable-target steht eine 52. Dann bekomme ich in der console ausgegeben:
52
52
bla
NaN
Hat irgendjemand eine Idee, wie ich es hinbekomme, dass in currentTargetValue die 52 stehen bleibt?

Kommentar