每次检测到按键时尝试创建一个新的列表元素。本来我是这样写下来的
<ul class='text-box'> <strong>THIS IS SPARTA</strong>
</ul>
<script>
keycheck = 0;
$(document).keydown(function()
{
$('.text-box').text('Number of keypress are: '+keycheck);
keycheck=keycheck+1;
$('<p>').text(keycheck).appendTo('.text-box');
});
</script>
但这只会在按键上创建两条行,并以点击次数进行更新。但是删除行“ $('。text-box')。text('hello'+ keycheck);” 给我我想要的。我想知道为什么这样做,因为我刚开始学习js时,我觉得这将是很有价值的。
如果你这样做
$('.text-box').text('Number of keypress are: '+keycheck);
您将所有内容替换.text-box
为给定的文本。并且“所有内容”包括上次添加的内容!
因此,您需要append(...)
而不是text(...)
。而已。
但是,如果要创建列表,则应使用列表项(<li>
),而不要使用纯文本和<p>
。更好的解决方案如下所示:
keycheck = 0;
$(document).keydown(function() {
$('.text-box').append('<li>Number of keypresses are: ' + keycheck + '</li>');
keycheck = keycheck + 1;
$('<li>').text(keycheck).appendTo('.text-box');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class='text-box'>
<li>THIS IS SPARTA</li>
</ul>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句