Привет и спасибо за чтение.
Я пытаюсь разрешить пользователям вставлять текст в поле текстовой области, а затем работать с тем, что они вставили.
Область приложения ограничена, но пользователи будут вставлять содержимое файла CSV, в котором первый столбец совпадает с установленными мной идентификаторами Div.
По какой-то причине, когда я предупреждаю в этом цикле, он предупреждает отлично. Проблема в том, что когда я пытаюсь 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, и он не работает в цикле. Используя каждое то же выражение вне цикла, препенд работает:
contentText = '<div class=\"percentageLabel\"></div>';
$(MyID).prepend(contentText);
Но если я использую этот код в цикле, я ничего не получаю.
Можете ли вы определить, что я делаю здесь не так?
Первый фрагмент кода выше - это тот, который я хочу работать, остальные просто показывают, что еще я пробовал