2009-08-22 7 views
0

Ich habe ein Array:jquery jede Funktion und Warteschlange

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

ich will es sein:

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

so ich versuche:

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

aber nicht scheint zu funktionieren ... wie kann ich das anstellen?

Antwort

5

vielleicht wollen Sie

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

danke! das funktioniert völlig. – user161380

0

Nun, ein Teil des Problems ist, dass man nie so die li-Tags schließen

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

Für den Anfang versuchen ...

Etwas anderes können Sie versuchen, die Funktion Argument die Unterschrift haben kann

function(data, i) 

Wo Daten das aktuelle Element ist und ich die Anzahl ist. Sie könnten mehr Erfolg beim Zugriff auf jedes Element auf diese Weise haben. Obwohl, wenn der Speicher dient, "dieses" sollte in diesen Fällen arbeiten ...

+2

http://www.w3.org/ TR/REC-html40/struct/lists.html # edef-LI – user161380

0

Try this:

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