I am appending data from server to an unordered list, however setting data-id
attribute with data()
doesn't work, but attr()
does.
When using data()
:
Appends <li>Home</li>
$('#menu').append($('<li>').text("Home").data('id', 5));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="menu">
</ul>
When using attr()
:
Appends <li data-id="5">Home</li>
$('#menu').append($('<li>').text("Home").attr('data-id', 5));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="menu">
</ul>
I know I could append it like so, but prefer the first option.
$('#menu').append('<li data-id="5">Home</li>');