我在使用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/