2013-08-26 2 views
1

У меня есть теги массива = ['str1', 'str2'];Jquery append string from array

И что мне нужно это реализовать эти теги к уль по этому шаблону -

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

В первый я только этот тег:

<ul id="tags"> 

</ul> 

Как я могу сделать это на JQuery?

Отредактировано: СРЮ Я модифицирована вопрос плз проверить прямо сейчас

ответ

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

я уже один литий в ул, как я могу реализовать новый Li до этого первого литий? –

+1

@TimurShahbanov Измените '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>'); 
});