<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<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;
}
li a {
float: right;
}
</style>
</head>
<body>
<textarea name="" id="">123</textarea>
<button>发布</button>
<ul></ul>
<!-- 1、核心思路:点击按钮后,就动态创建一个li,添加到ul里面。
2、创建li的同时,把文本框里面的值通过li.innerHTML赋值给li innerHTML意思是将所有的文字空格换行全部保留
3、想要新的在留言板后面显示就用appendChild如果想要在前面显示就是用insertBefore
-->
<script>
var but = document.querySelector('button');
var text = document.querySelector(' textarea');
var ul = document.querySelector('ul');
but.onclick = function() {
// varlue属性值 为了检测属性值是否为空
if (text.value == '') {
alert("请重新输入!");
return flase;
} else {
// 1、创建元素
var li = document.createElement('li');
// innerHTML属性的全部值进行保留
// value属性值
// javascript:;阻止链接跳转
li.innerHTML = text.value + "<a href='javascript:;'>删除</a>";
// (2) 添加元素
// 放在最后
// ul.appendChild(li);
// 放在最前
ul.insertBefore(li, ul.children[0]);
// (3)删除元素 删除的是当前链接li a所在的li也就是a的父亲 this.parentNode当前a的父亲就是li
var as = document.querySelectorAll('a');
for (var i = 0; i < as.length; i++) {
as[i].onclick = function() {
// Node.removeChild(child);删除当前li 当前a的父亲li
ul.removeChild(this.parentNode);
}
}
}
}
</script>
</body>
</html>
前端留言板案例
最新推荐文章于 2024-06-15 17:55:19 发布