jquery для каждой функции и очереди
Вопрос
у меня есть массив:
arr = ['a', 'b', 'c', ... ]
я хочу, чтобы это было:
<div>
<ul>
<li>a
<li>b
<li>c
...
</ul>
</div>
так что я пытаюсь:
$('div').append('<ul>');
$.each(arr, function () {
$('div').append('<li>' + this);
});
$('div').append('</ul>');
но, похоже, это не работает...как я могу поставить это в очередь?
Решение
возможно, вы хотите
$('div').append('<ul></ul>');
$.each(arr, function () {
$('ul').append('<li>' + this);
});
Другие советы
Ну, часть проблемы заключается в том, что вы никогда не закрываете теги li, так что попробуйте
$('div').append('<li>' + this + '</li>');
Для начала...
Что-то еще, что вы можете попробовать, это то, что аргумент функции может иметь подпись
function(data, i)
Где data - это текущий элемент, а i - количество.Таким образом, вы могли бы добиться большего успеха при доступе к каждому элементу.Хотя, если мне не изменяет память, "это" должно сработать в этих случаях...
Попробуй это:
$('div').append('<ul/>);
$.each(arr, function () {
$('div ul').append('<li>' + this + '</li>');
});
Не связан с StackOverflow