【发布时间】:2011-03-20 02:33:04
【问题描述】:
您好,感谢您的阅读。
我正在尝试允许用户将文本粘贴到 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);
但如果我在循环中使用该代码,我将一无所获。
你能发现我在这里做错了什么吗?
上面的第一个代码sn-p是我要工作的,其他的只是为了展示我还尝试了什么
【问题讨论】:
标签: jquery arrays for-loop prepend