因此,当用户填写文本框的信息并点击添加时,我将向页面添加列表项。它将其格式化为:
<label id="cb1">list item</label>
<label id="cb1">list item2</label>
但它永远不会增加1到2。 这是我正在使用的功能。
function addItem(name) {
var container = $('#sortable');
var inputs = container.find('input');
var id = inputs.length+1;
$('<li /> ', { 'id': 'cb'+id, text:''+ name }).appendTo(container);
$('').appendTo(container); }
答案 0 :(得分:2)
请尝试.find("li")
,因为您正在插入的内容:
function addItem(name) {
var container = $('#sortable');
var listItems = container.find('li');
var id = listItems.length + 1;
console.log(id);
$('<li /> ', {
'id': 'cb' + id,
text: name
}).appendTo(container);
}
&#13;
li:after {
content: " (id: " attr(id) ")"
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<input type="button" onclick="addItem('some name')" value="click to add">
<ul id="sortable">
<li id="cb1">First Name</li>
</ul>
<div class="sidenote">The id indicator is displayed by CSS</div>
&#13;