下面的当前代码 - 我必须复制并粘贴每个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 =所有这些都适用于各种情况。我根据以下事实选择了我的答案:我使用了一个把手模板,使得这些代码片段中的一些不能用于我的项目。
答案 0 :(得分:1)
您可以使用 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>");
&#13;
答案 1 :(得分: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 :(得分:0)
试试这个
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>");
}
答案 3 :(得分:0)
试试这个:
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);