带有数组错误的jQuery循环
jQuery loop with an array error
我有这个片段。结果我看到了一个错误:赋值中的左侧无效。
var arr = [ "text1", "text2", "text3", "text4" ];
jQuery.each(arr, function(index, value) {
this = jQuery("#sc-dialog ."+value).val();
});
有人能告诉我如何解决这个问题吗?谢谢
这是一个更新我需要变量"text"将有数字在循环中:text1,text2,text3…我已经这样做了:
var arr = [ "1", "2", "3", "4" ];
jQuery.each(arr, function(index, value) {
var text + index = jQuery("#sc-dialog .text"+value).val();
});
但我得到了一个错误:意外的标识符。问题就在这里:var text+index
这样尝试:
jQuery.each(arr, function(index, value) {
arr[index] = jQuery("#sc-dialog ."+value).val();
});
在变量名后面放一个+
是var
语句中的语法错误:
var text + index = jQuery("#sc-dialog .text"+value).val()
有效的变量声明将是变量名称本身:
var text;
或者带有赋值的变量名:
var text = jQuery("#sc-dialog .text"+value).val();
被分配的值中可以有+
或其他运算符:
var x = y + z - 5 * (a + b);
在一个var
语句中,您可以通过逗号分隔来声明多个有值或无值的变量:
var i, j = 0, k, text = jQuery("#sc-dialog .text"+value).val(), x = 12 + 4;
当你可以用标准的for
循环实现同样的事情时,遵循简单模式的数字数组(在本例中是数组元素索引加1)是没有意义的编辑:从您的评论来看,您似乎不想处理循环中的值,您想存储这些值以备将来使用。你提到想要text1
、text2
等,但如果你需要单独引用它们,听起来你的各个文本区域并不是一个真正的组,在循环中处理它们根本没有意义。但如果你坚持,那么你应该将值存储在一个数组中:
var i,
text = [];
for (i = 1; i <=4; i++) {
text[i] = jQuery("#sc-dialog .text"+i).val();
}
// later in your code
// text[1] is first value,
// text[2] is second value, etc
请注意,JS数组索引是从零开始的,数组.length
比最高索引多出一个,但字段编号从1开始——如果稍后在text
数组上循环,请记住这一点。
不能将"this"用作变量名。试试这样的东西:
var arr = [ "text1", "text2", "text3", "text4" ];
jQuery.each(arr, function(index, value) {
var dialogValue = jQuery("#sc-dialog ."+value).val();
});
相关文章:
- jQuery:循环一个具有不同超时值的循环
- jQuery循环在特定位置暂停
- 循环中的jQuery循环
- 使用val()在jquery循环中设置html字符串的val
- $.每个jquery循环打印一个“;未定义的“;对于getJSON请求后的每个元素,网格数据都会完美地打印出来
- jQuery循环寻呼机附加较小的图像大小
- 如何优化这个jquery循环的执行时间
- Jquery循环停止按钮
- 如何使用jQuery循环变量名
- Jquery循环洗涤器插件:添加到图像的链接
- 遍历 jQuery:循环遍历子项
- Javascript / JQuery循环访问已发布的ajax数据字符串以为其分配新值
- Jquery 循环一次或在数据数组中显示一次数据
- Jquery 循环与名称 increament.
- jQuery 循环 JSON 结果,对象作为值
- 正在尝试将jquery鼠标滚轮插件插入到jquery循环2中
- jQuery循环遍历每个li并检查一个类
- 使用jQuery循环遍历颜色数组
- 使用jquery循环表行并通过类名访问数据
- 对未知数量的元素执行Jquery循环