JavaScript實(shí)現(xiàn)簡單版的留言發(fā)布與刪除

首先用戶在輸入框中輸入內(nèi)容,按下發(fā)布按鈕,內(nèi)容到下面的li中,并且清空輸入框中的內(nèi)容
下面這個(gè)li元素就是后面創(chuàng)建的

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
textarea {
resize: none;
border: 1px solid pink
}
</style>
</head>
<body>
<textarea name="" id="" cols="30" rows="10"></textarea>
<button>發(fā)布</button>
<ul>
</ul>
<script>
//點(diǎn)擊發(fā)布按鈕,獲取文本域中的文本,給下面新創(chuàng)建li中的值
//獲取文本框元素、按鈕元素
var text = document.querySelector('textarea')
var btn = document.querySelector('button')
var ul = document.querySelector('ul')
//當(dāng)按下按鈕后就創(chuàng)建新的li元素,放到ul的后面
btn.onclick = function() {
//創(chuàng)建li元素 因?yàn)槭敲堪匆淮伟粹o,下面就會添加一個(gè)li,需要用到循環(huán)
//需要判斷,當(dāng)文本框里面的內(nèi)容為空時(shí),按下按鈕是不會添加的
if (text.value != '') {
var li = document.createElement('li')
ul.appendChild(li)
//添加節(jié)點(diǎn)
//賦值li里面的內(nèi)容
li.innerHTML = text.value
//按下按鈕后,文本框里面的值要清空
text.value = ''
}
}
</script>
</body>
</html>分析:
1、點(diǎn)擊按鈕后,就動態(tài)創(chuàng)建一個(gè)li,添加到ul里面
2、創(chuàng)建li的同時(shí),把文本域中的值通過li.innerHTML賦給li
3、如果想把新的留言顯示到后面就用appendChild,如果顯示到前面就用insertBefore
怎么實(shí)現(xiàn)放在前面:
并且實(shí)現(xiàn)刪除留言的案例:
添加li后面對應(yīng)添加一個(gè)刪除按鈕
1、把文本域的值賦值給li的同時(shí)多加一個(gè)刪除的鏈接
2、需要把每個(gè)鏈接獲取過來,當(dāng)點(diǎn)擊某一個(gè)鏈接的時(shí)候,刪除當(dāng)前鏈接所在的li;也就是當(dāng)前鏈接的父親
3、阻止鏈接跳轉(zhuǎn)可以添加javascript:void(0),或者javascript:;

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
textarea {
resize: none;
border: 1px solid pink
}
li {
background-color: pink;
margin-top: 2px;
width: 630px;
height: auto;
line-height: 30px;
}
p {
font-size: 15px;
margin-top: 0px;
float: left;
}
button {
width: 50px;
height: 30px
}
li a {
float: right;
}
</style>
</head>
<body>
<textarea name="" id="" cols="30" rows="10"></textarea>
<button class="btn">發(fā)布</button>
<ul>
</ul>
<script>
//點(diǎn)擊發(fā)布按鈕,獲取文本域中的文本,給下面新創(chuàng)建li中的值
//獲取文本框元素、按鈕元素
var text = document.querySelector('textarea')
var btn = document.querySelector('.btn')
var ul = document.querySelector('ul')
console.log()
//當(dāng)按下按鈕后就創(chuàng)建新的li元素,放到ul的后面
btn.onclick = function() {
//創(chuàng)建li元素 因?yàn)槭敲堪匆淮伟粹o,下面就會添加一個(gè)li,需要用到循環(huán)
//需要判斷,當(dāng)文本框里面的內(nèi)容為空時(shí),按下按鈕是不會添加的
if (text.value != '') {
var li = document.createElement('li')
//li里面創(chuàng)建一個(gè)p放內(nèi)容
// var p = document.createElement('p')
// var dele = document.createElement('button')
// ul.appendChild(li)
ul.insertBefore(li, ul.children[0])
//在li里面添加p
// console.log(ul.children[0])
// ul.children[0].appendChild(p)
//在li里面添加刪除按鈕
// ul.children[0].appendChild(dele)
//添加節(jié)點(diǎn)
//賦值li里面的內(nèi)容
li.innerHTML = text.value + "<a href='javascript:;'>刪除</a>"
// dele.innerHTML = '刪除'
// dele.style.float = 'right'
//按下按鈕后,文本框里面的值要清空
text.value = ''
//刪除元素,刪除的是li,當(dāng)前a鏈接的父親
var as = document.querySelectorAll('a')
for (var i = 0; i < as.length; i++) {
as[i].onclick = function() {
//node.removeChild(child)
// this.parentNode li 父親為ul
ul.removeChild(this.parentNode)
}
} //這個(gè)循環(huán)操作為什么放在按鈕點(diǎn)擊事件外面就不會起作用
}
}
</script>
</body>
</html>到此這篇關(guān)于JavaScript實(shí)現(xiàn)簡單版的留言發(fā)布與刪除的文章就介紹到這了,更多相關(guān)JavaScript留言發(fā)布刪除內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript兼容性總結(jié)之獲取非行間樣式案例
這篇文章主要介紹了JavaScript兼容性總結(jié)之獲取非行間樣式的相關(guān)資料,需要的朋友可以參考下2016-08-08
JavaScript設(shè)計(jì)模式之觀察者模式(發(fā)布者-訂閱者模式)
這篇文章主要介紹了JavaScript設(shè)計(jì)模式之觀察者模式(發(fā)布者-訂閱者模式),本文詳細(xì)的講解了JavaScript中的觀察者模式,需要的朋友可以參考下2014-09-09
JS+ACTIVEX實(shí)現(xiàn)網(wǎng)頁選擇本地目錄路徑對話框
使用ACTIVEX對象遍歷本地磁盤和目錄,只需網(wǎng)頁啟用相關(guān)ACTIVEX的INTERNET選項(xiàng)即可實(shí)現(xiàn)路徑選擇對話框,感興趣的你可以參考下哈希望可以幫助到你2013-03-03
js實(shí)現(xiàn)文本框支持加減運(yùn)算的方法
這篇文章主要介紹了js實(shí)現(xiàn)文本框支持加減運(yùn)算的方法,可實(shí)現(xiàn)文本框輸入加減運(yùn)算式同時(shí)右側(cè)實(shí)時(shí)顯示對應(yīng)計(jì)算結(jié)果的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08
理解javascript定時(shí)器中的setTimeout與setInterval
這篇文章主要幫助大家學(xué)習(xí)理解javascript定時(shí)器中的setTimeout與setInterval,從實(shí)例出發(fā)進(jìn)行深入探討,感興趣的小伙伴們可以參考一下2016-02-02

