Domanda

Ho un array:

arr = ['a', 'b', 'c', ... ]

voglio che sia:

 <div>
  <ul>
    <li>a
    <li>b
    <li>c
    ...
  </ul>
 </div>

Così sto cercando:

$('div').append('<ul>');
$.each(arr, function () {
    $('div').append('<li>' + this);
});
$('div').append('</ul>');

ma non sembra lavorare ... come posso coda questo?

È stato utile?

Soluzione

forse si vuole

$('div').append('<ul></ul>');
$.each(arr, function () {
    $('ul').append('<li>' + this);
});

Altri suggerimenti

Bene, parte del problema è che non hai mai chiudere le tag li quindi cercate

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

Per cominciare ...

Un'altra cosa che si può provare è l'argomento della funzione può avere la firma

function(data, i)

Qualora i dati è l'elemento corrente ed i è il conteggio. Si potrebbe avere più successo accedendo ogni elemento in quel modo. Anche se, se la memoria non serve, "questo" dovrebbe funzionare in quei casi ...

Prova questo:

$('div').append('<ul/>);
$.each(arr, function () {
    $('div ul').append('<li>' + this + '</li>');
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top