JQuery каждой функции и очереди - PullRequest
0 голосов
/ 23 августа 2009

у меня есть массив:

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>');

но, похоже, не работает ... как я могу поставить это в очередь?

Ответы [ 3 ]

5 голосов
/ 23 августа 2009

возможно, вы хотите

$('div').append('<ul></ul>');
$.each(arr, function () {
    $('ul').append('<li>' + this);
});
0 голосов
/ 23 августа 2009

Попробуйте это:

$('div').append('<ul/>);
$.each(arr, function () {
    $('div ul').append('<li>' + this + '</li>');
});
0 голосов
/ 23 августа 2009

Ну, отчасти проблема в том, что вы никогда не закрываете теги li, поэтому попробуйте

$('div').append('<li>' + this + '</li>');

Для начала ...

Вы можете попробовать еще кое-что: аргумент функции может иметь подпись

function(data, i)

Где data - текущий элемент, а i - количество. У вас может быть больше успеха при доступе к каждому элементу таким образом. Хотя, если память не изменяет, «это» должно работать в таких случаях ...

...