迭代jquery对象

时间:2014-09-10 17:42:24

标签: javascript jquery each

我正在尝试使用jquery 每个()迭代并输出选项属性的值。我的代码似乎输出数组索引而不是字符串值。为什么是这样?这是我的jsfiddle

  var allQuestions = [
  {
    question: "Who is Prime Minister of the United Kingdom?", 
    choices: ["David Cameron", "Gordon Brown", "Winston Churchill", "Tony Blair"], 
    correctAnswer:0
  }];


 $(info[0].choices).each(function(value){
    $('#answers').append($('<li>').text(value));
});

4 个答案:

答案 0 :(得分:2)

你困惑了

$(selector).each()

http://api.jquery.com/each/

$.each(array, callback)

http://api.jquery.com/jquery.each/

您希望使用第二种形式迭代数组。

答案 1 :(得分:1)

您正在传递索引而不是值:

var allQuestions = [{
    question: "Who is Prime Minister of the United Kingdom?", 
    choices: ["David Cameron", "Gordon Brown", "Winston Churchill", "Tony Blair"], 
    correctAnswer:0
}];


$(info[0].choices).each(function(index, value){
    $('#answers').append($('<li>').text(value));
});

这是一个小例子:http://jsfiddle.net/436Lcvc4/

答案 2 :(得分:0)

尝试这个

 $(info[0].choices).each(function(value){
    $('#answers').append($('<li>').text(this));

答案 3 :(得分:0)

$.each回调需要两个参数indexvalue。添加value作为第二个参数并改为使用该参数。