我有两个div:
<div id="player" class="setPlayers">value1</div>
<div id="player2" class="setPlayers">value2</div>
我想要做的就是将div的value1和value2设置为一个数组,以便以后读取;我尝试了这段代码,但不起作用:
var array = new Array();
$.each($('.setPlayers'), function(key, object) {
console.log(index + ':' + value);
array.push(value);
alert(value);
});
$.each(array, function(index, value) {
console.log(index + ':' + value);
console.log(index + ':' + $(this).val());
});
根据你有什么不对?欢呼声
答案 0 :(得分:4)
使用您的代码作为开始,我提出了:
$(function(){
var array = [];
$('.setPlayers').each(function(index) {
console.log(index + ':' + $(this).text());
array.push($(this).text());
alert($(this).text());
});
$.each(array, function(index) {
console.log(index + ':' + this);
console.log(index + ':' + this);
});
});
我喜欢的警报和调试太少了。
如果您只是想填充数组,那么这样做:
$(function(){
var array = $('.setPlayers').map(function() { return $(this).text()); }).get();
});
答案 1 :(得分:3)
试试这个(参见演示:http://jsfiddle.net/GcjgH/):
var array = $('.setPlayers').map(function() {
return $(this).text();
}).get();
alert(array[0]);
alert(array[1]);
答案 2 :(得分:0)
正确的语法是$('.setPlayers').each(function(){ ... });
在问题的背景下:
$('.setPlayers').each(function(){
console.log($(this).attr("id")+':'+$(this).text());
array.push($(this).text());
alert($(this).text());
});
for (var i=0; i<array.len; i++){
console.log(arr[i]);
}
等
答案 3 :(得分:0)
这应该有效:
var array = new Array();
$(".setPlayers").each(function() {
array.push($(this).text());
});