2013-08-26 154 views
1

我有数组标签= ['str1','str2'];jquery从数组中追加字符串

而我需要的是实现这个标签通过此模板UL -

<li><span>str1</span></li> 
<li><span>str2</span></li> 

起初我只有这个标签:

<ul id="tags"> 

</ul> 

我该怎么办呢jQuery的?

编辑:SRY我正在修改的问题PLZ检查现在

回答

2

为了生成整个列表的内容,尝试::

var tags = ['str1', 'str2']; 
var lis = $.map(tags, function(element, index) { 
    return $("<li />").append($("<span></span>").text(element)); 
}); 
$("#tags").append(lis); 

参见:http://jsfiddle.net/SYQpa/1/

+0

我已经一个李时珍在UL,我怎么能这首李前实施新的利? –

+1

@TimurShahbanov将'appepend'的'append'改为'prepend'。 – plalx

+0

现在工作很好! –

1

尝试像

var i = 0; 
var my_arr = ['str1','str2']; 
$(my_arr).each(function(){ 
    $('#tags').append('<li><span>' + this + '</li></span>'); 
}); 

看到这个

+0

见我的编辑,按您编辑 – Gautam3164

1

有很多方法可以实现此目的,但使用documentFragment将避免多个DOM重排。

var $frag = $(document.createDocumentFragment()); 

$.each(tags, function (index, text) { 
    $frag.append($('<li><span>' + text + '</span></li>')); 
}); 

$('#tags').append($frag); 
0
var tags = ['str1', 'str2']; 

$(tags).each(function)({ 
$("#tags").append('<li><span>str1</span></li><li><span>'+this+'</span></li>'); 
});