您好,感谢您的阅读。
我试图允许用户将文本粘贴到 textarea 字段中,然后使用他们粘贴的内容。
该应用程序的范围有限,但用户将粘贴 csv 文件的内容,其中第一列与我设置的 div Id 对齐。
出于某种原因,当我在这个循环中发出警报时,它会完美地发出警报。问题是当我尝试 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);
}
}
}();
});
我什至通过用#MyID 之类的实际ID 替换iterationNum 变量进行了测试,例如它在循环中不起作用。在循环之外使用每个相同的表达式,前置工作:
contentText = '<div class=\"percentageLabel\"></div>';
$(MyID).prepend(contentText);
但是,如果我在循环中使用该代码,我什么也得不到。
你能发现我在这里做错了吗?
上面的第一个代码片段是我想要工作的代码片段,其他代码片段只是为了展示我尝试过的其他内容