【问题标题】:Iterating over an string-based array with JS/jQuery使用 JS/jQuery 迭代基于字符串的数组
【发布时间】:2014-02-07 02:15:09
【问题描述】:

我有这样的事情:

$(document).ready(function(){ 
  var veeCountries = ["America", "Japan"];

  $.each(veeCountries, function( ? ) {
    $("#content").html("<p>" + value + "</p>");
  });
});

我正在尝试输出如下内容:

<p>America</p>
<p>Japan</p>

但我被困住了,最好和最简单的方法是什么?

【问题讨论】:

  • 首先"&lt;p&gt;" + value + "&lt;/p""&lt;p&gt;" + value + "&lt;/p&gt;"
  • 这应该被标记为重复....
  • @pilot - 然后点击关闭并将其标记为重复,以便我们可以看到重复的?
  • @adeneo..question 是关于 ? in function( ? ) 。这里是How to loop through array in jquery

标签: javascript jquery


【解决方案1】:

.each() 的参数如果索引和本机 DOM 元素,但使用 html() 会在每次迭代时覆盖内容。
在循环内使用append(),或在循环中创建字符串并将其传递给html()一次。

$(document).ready(function(){ 
  var veeCountries = ["America", "Japan"],
      output       = '';

  $.each(veeCountries, function( index, value ) {
      output += "<p>" + value + "</p>");
  });

  $("#content").html(output);

});

或者更整洁一点

$("#content").html('<p>' + veeCountries.join('</p><p>') + '</p>');

【讨论】:

    【解决方案2】:

    each 方法将数组的索引和实际项传递给回调函数。

    $(document).ready(function(){ 
      var veeCountries = ["America", "Japan"];
    
      $.each(veeCountries, function(index, item) {
        $("#content").append("<p>" + item + "</p");
      });
    });
    

    阅读文档jQuery.each

    【讨论】:

      【解决方案3】:

      几乎与 $.each() 上的文档中的示例相同:http://api.jquery.com/jquery.each/

      $.each(veeCountries, function(index, value) {
         $("#content").append("<p>" + value + "</p>");
        });
      });
      

      【讨论】:

        猜你喜欢
        • 2020-12-27
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 2018-12-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-06
        相关资源
        最近更新 更多