こんにちは、読んでくれてありがとう。
ユーザーがテキストをtextareaフィールドに貼り付けてから、貼り付けたものを操作できるようにしようとしています。
アプリケーションの範囲は制限されていますが、ユーザーはcsvファイルの内容を貼り付け、最初の列が設定したdivIDと一致します。
何らかの理由で、このループ内でアラートを送信すると、完全にアラートが発生します。問題は、コンテンツを変更する代わりにprepend()しようとすると、何も実行されないことです。
$('#datainput').submit(function () {
csvData = $("#csvData").val();
csvData = csvData.split('\n');
var iterationNum;
var contentText;
return function() {
for (var i=0, lngth=csvData.length; i < lngth; i+=1) {
csvData[i] = csvData[i].split(',');
if (!!$('#' + csvData[i][0]).length){
iterationNum = '#' + csvData[i][0]
contentText = '<div class=\"percentageLabel\">' + csvData[i][1] + '</div>';
$(iterationNum).prepend(contentText);
}
}
}();
});
一方、これは機能します(私が警告すると機能します):
$('#datainput').submit(function () {
csvData = $("#csvData").val();
csvData = csvData.split('\n');
var iterationNum;
var contentText;
return function() {
for (var i=0, lngth=csvData.length; i < lngth; i+=1) {
csvData[i] = csvData[i].split(',');
if (!!$('#' + csvData[i][0]).length){
iterationNum = '#' + csvData[i][0]
contentText = '<div class=\"percentageLabel\">' + csvData[i][1] + '</div>';
alert(iterationNum + contentText);
}
}
}();
});
たとえば、iterationNum変数を#MyIDなどの実際のIDに置き換えてテストしたところ、ループ内では機能しません。ループの外側で同じ式をそれぞれ使用すると、先頭に追加が機能します。
contentText = '<div class=\"percentageLabel\"></div>';
$(MyID).prepend(contentText);
しかし、ループ内でそのコードを使用すると、何も得られません。
ここで私が間違っていることを見つけられますか?
上記の最初のコードスニペットは私が作業したいものであり、他のコードスニペットは単に私が試した他のことを示すためのものです