【问题标题】:JQuery - Split String (For Each)JQuery - 拆分字符串(对于每个)
【发布时间】:2015-12-14 01:13:41
【问题描述】:

下面的当前代码 - 我必须复制并粘贴每个 arr[0], arr[1], arr[2]。但是,将来我可能会有更多或更少的数组选项,并且希望代码自动更新而不需要更改我的代码。

基本上,我想为每个列表项创建一个“for-each”情况:

<li><i class='icon-check twentytwo color'></i><span>" + arr + "</span></li>

当前代码:

var data = $('.availability').text();
var arr = data.split('•');
$('.availability').html("<li><i class='icon-check twentytwo color'></i><span>" + arr[0] + "</span></li><li><i class='icon-check twentytwo color'></i><span>" + arr[1] + "</span></li><li><i class='icon-check twentytwo color'></i><span>" + arr[2] + "</span></li>");

ANSWER = 所有这些都适用于各种情况。我之所以选择答案,是因为我使用的是车把模板,这使得其中一些代码 sn-ps 无法用于我的项目。

【问题讨论】:

  • 我必须将&lt;li&gt;&lt;i class='icon-check twentytwo color'&gt;&lt;/i&gt;&lt;span&gt;" + arr[#] + "&lt;/span&gt;&lt;/li&gt; 复制并粘贴到每个数组的代码中。将来我可能想要的不仅仅是我现在拥有的三个,并且希望代码知道这一点。

标签: jquery arrays string foreach split


【解决方案1】:

您可以使用$.each 函数循环您的数组。

但不要使用html() 来覆盖您的HTML,而应该append() 项目。

var data = $('.availability').text();
var arr = data.split('•');
$.each( arr, function( index, value ) {
    $('.availability').append("<li><i class='icon-check twentytwo color'></i><span>" + value + "</span></li>");
});

【讨论】:

    【解决方案2】:

    您可以为此使用 join()

    var data = $('.availability').text();
    var arr = data.split('•');
    $('.availability').html("<li><i class='icon-check twentytwo color'></i><span>" 
                            + arr.join("</span></li><li><i class='icon-check twentytwo color'></i><span>") 
                            + "</span></li>");

    【讨论】:

      【解决方案3】:

      试试这个

       var data = $('.availability').text();
          var arr = data.split('•');
          for(var i=0; i< arr.length; i++){
           $('.availability').append("<li><i class='icon-check twentytwo color'></i><span>" + arr[i] + "</span></li>");
          }
      

      【讨论】:

        【解决方案4】:

        试试这个:

        var data = $('.availability').text();
        var arr = data.split('•');
        var htm;
        $.each(arr, function(i, obj){
           htm += $('<li>', {
               html:"<i class='icon-check twentytwo color'></i><span>"+ arr[i] + "</span>"
           })
        })
        
        $('.availability').html(htm);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-12-17
          • 2012-03-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-30
          • 2011-03-03
          相关资源
          最近更新 更多