Oh mein. Wenn Sie eine globale "dynamische Variable" erstellen möchten, sollten Sie var
nicht verwenden. In diesem Kontext wird eine Variable erstellt, die innerhalb der Funktion "each-function" lokal ist, was ziemlich nutzlos ist (und dazu führt, dass sie außerhalb der Schleife undefiniert ist, was Sie gerade erleben). Stattdessen sollten Sie es so tun:
Der Nachteil mit dem obigen Code ist, dass globale Variablen auch nicht wirklich groß sind.
Auf der anderen Seite, wenn Sie eine lokale Variable wollen (wenn zum Beispiel wird es mehr Code in der Schleife sein, die diese varaible verwendet, dann würde ich es tun, wie folgt:
td.each(function(i){
var dynVars = {};
dynVars['v' + i] = $(this).html();
alert(dynVars.v4); // use the dynamic variables by saying "dynVars.NAME"
});
Sie kombinieren könnten Diese beiden Lösungen können Sie verwenden, indem Sie die Deklaration von Dynvars (var dynVars = {}
) in den Bereich einfügen, in dem Sie auf Ihre Variablen zugreifen möchten.Solange es auch in diesem Callback angezeigt wird, funktioniert alles einwandfrei
Warum? Was endet, ist das zu erreichen? –