Blogger Information
Blog 49
fans 0
comment 3
visits 23041
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
实例演示dom增删改的常用方法与留言板及自定义样式
P粉479712293
Original
311 people have browsed it

题目一:实例演示dom增删改的常用方法

对应的js文件如下:

  1. // *创建ul元素:
  2. const ul=document.createElement('ul');
  3. // *用此方法能够看见了的元素(添加到页面中)
  4. document.body.append(ul);
  5. // *循环添加li元素
  6. for(let i=0;i<5;i++){
  7. // *添加li元素
  8. const li=document.createElement('li');
  9. // *追加li元素的内容显示在页面上
  10. li.append('item-'+(i+1));
  11. ul.append(li);
  12. }
  13. console.log(ul);
  14. // *添加li元素
  15. const li=document.createElement('li');
  16. // *li元素追加内容
  17. li.append('nuw_item');
  18. li.style.color='red';
  19. // *获取第3个子元素
  20. const item=ul.querySelector('li:nth-of-type(3)');
  21. // *在该节点之前
  22. item.before(li);
  23. // *克隆(括号里要加上true,才能连内容一块拷贝)
  24. let newNode=li.cloneNode(true);
  25. // *把克隆出来的节点放在第3个节点后面
  26. item.after(newNode);
  27. // *在当前列表的前面插入一个标题
  28. const h3=document.createElement('h3');
  29. // *h3追加内容
  30. h3.append('城市之光');
  31. // *在ul之前插入h3
  32. ul.insertAdjacentElement('beforebegin',h3);
  33. // *在ul之后插入html标签
  34. ul.insertAdjacentHTML('afterbegin','<li style="color:red">北京</li>');
  35. // *在</ul>之前插入html标签
  36. ul.insertAdjacentHTML('beforeend','<li style="color:green">上海</li>');
  37. // *在</ul>之后插入html标签
  38. ul.insertAdjacentHTML('afterend','<h3>美好时刻</h3>')
  39. // *被替换的旧节点
  40. const oldNode=ul.querySelector('li:last-of-type');
  41. const link=document.createElement('a');
  42. // *新节点
  43. link.href='https://www.php.cn';
  44. link.append('php中文网');
  45. // *替换旧节点
  46. ul.replaceChild(link,oldNode);
  47. // *remove:移除
  48. ul.firstElementChild.remove();
  49. ul.lastElementChild.remove();

对应的浏览器效果图如下:

题目二:改写留言板案例

对应的html文件如下:

  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>Document</title>
  8. </head>
  9. <body>
  10. <input type="text" onkeydown="addWords(this)" placeholder="请输入留言" autofocus >
  11. <ul class="list"></ul>
  12. <script src="../static/第19章/2改写留言板案例.js"></script>
  13. </body>
  14. </html>

对应的js文件如下:

  1. // *创建留言函数
  2. function addWords(ele){
  3. console.log(ele);
  4. console.log(event);
  5. console.log(event.type);
  6. console.log(event.key);
  7. if(event.key=='Enter'){
  8. // *1.留言非空验证
  9. if(ele.value.length==0){
  10. alert('留言不能为空');
  11. ele.focus();
  12. return false;
  13. }
  14. // *2.从输入框获取留言
  15. console.log(ele.value);
  16. // *3.创建ul标签
  17. const ul=document.querySelector('.list');
  18. // *4.为每条留言后面添加删除按钮(此时还是输入框的值),并且单击按钮时触发删除函数
  19. ele.value = ele.value + '<button onclick="del(this.parentNode)">删除</button>';
  20. // *5.把输入框的值放在li内,并且li放在ul后
  21. ul.insertAdjacentHTML('afterbegin',`<li>${ele.value}</li>`);
  22. // *6清空输入框
  23. ele.value=null;
  24. }
  25. }
  26. // *调用删除函数
  27. function del(ele){
  28. return confirm('是否删除?') ? ele.remove():false;
  29. }

对应的浏览器效果图如下:

题目三:实例演示添加自定义属性

对应的html文件如下:

  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>Document</title>
  8. </head>
  9. <body>
  10. <!-- *第一个示例 -->
  11. <div class="btn-group">
  12. <button data-index="1" onclick="console.log(this.dataset.index);">btn1</button><br>
  13. <button data-index="2" onclick="console.log(this.dataset.index);">btn2</button><br>
  14. <button data-index="3" onclick="console.log(this.dataset.index);">btn3</button>
  15. </div>
  16. <!-- *第二个示例 -->
  17. <div data-my-email="1234567@qq.com" class="baiyun">我的邮箱</div>
  18. <script src="../static/第19章/3实例演示添加自定义属性.js"></script>
  19. </body>
  20. </html>

对应的js文件如下:

  1. const div=document.querySelector('.baiyun');
  2. console.log(div);
  3. console.log(div.dataset.myEmail);

对应的浏览器效果图如下:

Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
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