分析
- 在把文本域里面的值赋值给li的时候,多添加一个删除的链接
- 把所有的连接获取过来,当我们点击当前连接时删除链接所在的li
- 添加javascript:void(0);或者javascript:;来阻止链接跳转
代码
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
body {
padding: 100px;
}
textarea {
width: 200px;
height: 100px;
border: 1px solid pink;
outline: none;
resize: none;
}
ul {
margin-top: 50px;
}
li {
width: 300px;
padding: 5px;
background-color: rgb(245, 209, 243);
color: red;
font-size: 14px;
margin: 15px 0;
}
</style>
</head>
<body>
<textarea name="" id=""></textarea>
<button>发布</button>
<ul>
</ul>
<script>
// 1. 获取元素
var btn = document.querySelector('button');
var text = document.querySelector('textarea');
var ul = document.querySelector('ul');
// 2. 注册事件
btn.onclick = function() {
if (text.value == '') {
alert('您没有输入内容');
return false;
} else {
// console.log(text.value);
// (1) 创建元素
var li = document.createElement('li');
// 先有li 才能赋值
li.innerHTML = text.value;
text.value = '';
// (2) 添加元素
// ul.appendChild(li);
ul.insertBefore(li, ul.children[0]);
}
}
</script>
</body>
</html>
在li的innerHTML中多添加一个链接<a>在末尾,并设置Javacript:;阻止链接跳转
添加鼠标点击动作,在点击后删除父级li
node.removeChild(child);删除的是li当前a所在的li
所以方法中的child为this.parentNode,而li的父级是ul
所以node为ul
移除ul中a的父级li元素