我有一个查询ajax响应,然后我使用它来设置数组变量。有没有什么办法可以使用'For Loop‘来更改为#name,这样我就不需要写出一行代码来设置每个数组元素。
array[0]=$('#event00',response).html();
array[1]=$('#event01',response).html();
array[2]=$('#event02',response).html();
array[3]=$('#event03',response).html();
因此,“#event00”可以在for循环中使用,以更改为“#event01”等
发布于 2012-03-01 04:37:21
使用常规的for循环并格式化要在选择器中使用的索引。
var array = [];
for (var i = 0; i < 4; i++) {
var selector = '' + i;
if (selector.length == 1)
selector = '0' + selector;
selector = '#event' + selector;
array.push($(selector, response).html());
}
发布于 2012-03-01 05:13:13
像这样的怎么样?
var arr = [];
$('[id^=event]', response).each(function(){
arr.push($(this).html());
});
事件选择器匹配attr
属性以给定字符串开头的元素,这样您就不必关心“[attr^=selector]
”后面的数字了。
发布于 2012-03-01 04:35:30
.each()
应该可以为您工作。http://api.jquery.com/jQuery.each/或http://api.jquery.com/each/,或者您也可以使用.map
。
var newArray = $(array).map(function(i) {
return $('#event' + i, response).html();
});
编辑:我删除了添加的前缀0,因为建议不要使用它。
如果您必须使用它
var newArray = $(array).map(function(i) {
var number = '' + i;
if (number.length == 1) {
number = '0' + number;
}
return $('#event' + number, response).html();
});
https://stackoverflow.com/questions/9506189
复制相似问题