当我在JS中添加动态列表项时,为什么我的标签ID没有增加

时间:2015-06-23 13:18:37

标签: javascript html

因此,当用户填写文本框的信息并点击添加时,我将向页面添加列表项。它将其格式化为:

  <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); }

1 个答案:

答案 0 :(得分:2)

请尝试.find("li"),因为您正在插入的内容:

&#13;
&#13;
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;
&#13;
&#13;