Blogger Information
Blog 94
fans 0
comment 0
visits 92493
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
【JS】元素操作实战:todoList:留言板
可乐随笔
Original
348 people have browsed it

元素操作实战:todoList:留言板

关键思路:
使用 Insertadjacenthtml Api 直接添加到 Ul标签的后面即可

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  7. <title>todoList:留言板</title>
  8. </head>
  9. <body>
  10. <input
  11. type="text"
  12. onkeydown="insertComment(this)"
  13. placeholder="请输入留言"
  14. autofocus
  15. />
  16. <ul class="list"></ul>
  17. <script>
  18. const insertComment = function (ele) {
  19. // console.log(ele)
  20. //任何事件方法中,都有一个事件对象可以直接使用
  21. //event
  22. //console.log(event.key)//获取输入按键
  23. if (event.key === 'Enter') {
  24. //1.判断非空
  25. if (ele.value.length === 0) {
  26. alert('留言不能为空');
  27. //重置焦点
  28. ele.focus();
  29. //直接返回
  30. return false;
  31. }
  32. //2.添加元素
  33. // console.log(ele.value);
  34. // //创建一个新元素来保存留言
  35. // const li = document.createElement('li');
  36. // li.append(ele.value);
  37. // ul = document.querySelector('.list');
  38. // if(ul.firstElementChild != null){
  39. // //将留言插入到第一条之前,确保最新留言在最上面
  40. // ul.firstElementChild.before(li);
  41. // } else {
  42. // ul.append(li);
  43. // }
  44. //使用 insertAdjacentHTML API 直接添加到 ul标签的后面即可
  45. const ul = document.querySelector('.list');
  46. ele.value += `<button onclick="del(this.parentNode)">删除</botton>`
  47. ul.insertAdjacentHTML('afterbegin', `<li>${ele.value}</li>`);
  48. //3.清空输入框
  49. ele.value = null;
  50. }
  51. };
  52. const del = function(ele){
  53. //alert只有确认按钮
  54. //alert('留言将被删除!')
  55. //confirm:有确认和取消按钮
  56. confirm('是否删除?')? ele.remove : false;
  57. //ele.remove();
  58. //ele.outerHTML = null //作用同上
  59. }
  60. </script>
  61. </body>
  62. </html>
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post