我在使用javascript时遇到问题。我要这样做,以便如果我单击添加糖果按钮。它说有2糖果。如果我再次单击,它说有3个糖果。使用innerHTML最快的方法是什么?



function add() {
  var d = document.getElementById('idd').innerHTML;
  d = d + '<li>There is a candy</li>';
  document.getElementById('idd').innerHTML = d;
}

<body>
  <h1>Adding</h1>
  <p><input type="button" value="adding candy" onclick="add();"></p>
  <ul id="idd">
    <li>There is a candy.</li>
  </ul>
</body>





这整天让我头疼。

最佳答案

根据li的计数生成具有内容的新li元素,并将其附加到ul



function add() {
  // get the `ul` using id
  var d = document.getElementById('idd');
  // get count of `li`
  var count = d.getElementsByTagName('li').length + 1;
  // create an li element
  var li = document.createElement('li');
  // add content to li based on count
  li.innerHTML = 'There is ' + (count) + ' candy.';
  // append generated li element to the ul
  d.appendChild(li)
}

<body>
  <h1>Adding</h1>
  <p>
    <input type="button" value="adding candy" onclick="add();">
  </p>
  <ul id="idd">
    <li>There is a candy.</li>
  </ul>
</body>







UPDATE:如果您尝试更新相同的li内容,请使用全局变量进行。



var count = 1;

function add() {
  // get the li
  var d = document.querySelector('#idd li');
  // update content by based on count variable value
  d.innerHTML = 'There is ' + (++count) + ' candy.';
}

<body>
  <h1>Adding</h1>
  <p>
    <input type="button" value="adding candy" onclick="add();">
  </p>
  <ul id="idd">
    <li>There is a candy.</li>
  </ul>
</body>

关于javascript - innerHTML basic,循环添加数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40884487/

10-09 18:40