I have a List menu like this:
And i want to generate [li] from my data. I use a Javascript function:
for (i = 0; i < 10; i++) {
var sidebar = $('#side_bar');
var sidebar_entry = $('<li/>', {
'html': (i+1),
'click': function() {
alert("Li "+i)
},
'mouseenter': function() {
$(this).css('color', 'red');
},
'mouseleave': function() {
$(this).css('color', '#999999');
}
}).appendTo(sidebar);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<ul class="sidebar-nav" id="side_bar">
<li class="sidebar-brand" style="font-weight: bold; color: #999999;">
<h1>Places</h1>
</li>
<hr>
</ul>
But in result, all [li]'s click return alert(Li 9).
Why is it?