简单版发布留言案例

案例分析:

  • 页面组成:一个文本域,一个提交按钮,一个留言板
  • 当点击提交按钮的时候,先判断文本域内容是不是空,如果是空,就警告
  • 如果不是空,就新建一个li,然后把文本域的内容赋值给li,然后在ul里面的前面添加li
  • 在留言板案例的基础上添加功能
  • 当把文本域的内容幅值给 li 的时候,多添加一个删除的链接,
  • 循环把所有的链接获取过来,当我们点击一个链接的时候,删除当前链接所在的 li
  • 阻止链接跳转需要添加javascript:void(0);或者 javascript:;

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7     <title>Document</title>
 8     <style>
 9       * {
10         margin: 0;
11         padding: 0;
12       }
13         textarea {
14             width: 150px;
15             height: 100px;
16             margin-top: 100px;
17             margin-left: 100px;
18             border: 1px solid pink;
19         }
20        li {
21             background-color: pink;
22             width: 300px;
23             margin-top: 20px;
24             margin-left: 100px;
25             color:red;
26         }
27         li a {
28             float: right;
29         }
30     </style>
31 </head>
32 <body>
33     <textarea name="" id=""></textarea>
34     <button>发布</button>
35     
36     <ul>
37 
38     </ul>
39     <script>
40         //获取元素
41         var btn = document.querySelector('button');
42         var text = document.querySelector('textarea');
43         var ul = document.querySelector('ul');
44         btn.onclick = function() {
45             if(text.value == '') {
46             alert('您没有输入内容')
47             return false;
48         } else {
49             //(1)创建元素
50             var li = document.createElement('li');
51             //先有li,才能赋值
52             li.innerHTML = text.value + "<a href='javascript:;'>删除</a>";
53             //(2)添加元素
54             ul.insertBefore(li,ul.children[0]);
55             //(3)删除元素,
56             var as = document.querySelectorAll('a');
57             for(var i = 0;i < as.length; i++) {
58                 as[i].onclick = function() {
59                     //nde.removeChild(chlid);删除的是li 当前a所在的li
60                     ul.removeChild(this.parentNode);//this指的是a
61                   
62 
63   
64                 }
65             }
66         }
67      }
68        
69     </script>
70 </body>
71 </html>

效果图


posted @ 2019-08-21 16:25  Cookie饼干  阅读(566)  评论(0编辑  收藏  举报