JavaScript實現簡單版的留言發佈與刪除
首先用戶在輸入框中輸入內容,按下發佈按鈕,內容到下面的li中,並且清空輸入框中的內容
下面這個li元素就是後面創建的
<!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>發佈</button> <ul> </ul> <script> //點擊發佈按鈕,獲取文本域中的文本,給下面新創建li中的值 //獲取文本框元素、按鈕元素 var text = document.querySelector('textarea') var btn = document.querySelector('button') var ul = document.querySelector('ul') //當按下按鈕後就創建新的li元素,放到ul的後面 btn.onclick = function() { //創建li元素 因為是每按一次按鈕,下面就會添加一個li,需要用到循環 //需要判斷,當文本框裡面的內容為空時,按下按鈕是不會添加的 if (text.value != '') { var li = document.createElement('li') ul.appendChild(li) //添加節點 //賦值li裡面的內容 li.innerHTML = text.value //按下按鈕後,文本框裡面的值要清空 text.value = '' } } </script> </body> </html>
分析:
1、點擊按鈕後,就動態創建一個li,添加到ul裡面
2、創建li的同時,把文本域中的值通過li.innerHTML賦給li
3、如果想把新的留言顯示到後面就用appendChild,如果顯示到前面就用insertBefore
怎麼實現放在前面:
並且實現刪除留言的案例:
添加li後面對應添加一個刪除按鈕
1、把文本域的值賦值給li的同時多加一個刪除的鏈接
2、需要把每個鏈接獲取過來,當點擊某一個鏈接的時候,刪除當前鏈接所在的li;也就是當前鏈接的父親
3、阻止鏈接跳轉可以添加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">發佈</button> <ul> </ul> <script> //點擊發佈按鈕,獲取文本域中的文本,給下面新創建li中的值 //獲取文本框元素、按鈕元素 var text = document.querySelector('textarea') var btn = document.querySelector('.btn') var ul = document.querySelector('ul') console.log() //當按下按鈕後就創建新的li元素,放到ul的後面 btn.onclick = function() { //創建li元素 因為是每按一次按鈕,下面就會添加一個li,需要用到循環 //需要判斷,當文本框裡面的內容為空時,按下按鈕是不會添加的 if (text.value != '') { var li = document.createElement('li') //li裡面創建一個p放內容 // 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) //添加節點 //賦值li裡面的內容 li.innerHTML = text.value + "<a href='javascript:;'>刪除</a>" // dele.innerHTML = '刪除' // dele.style.float = 'right' //按下按鈕後,文本框裡面的值要清空 text.value = '' //刪除元素,刪除的是li,當前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) } } //這個循環操作為什麼放在按鈕點擊事件外面就不會起作用 } } </script> </body> </html>
到此這篇關於JavaScript實現簡單版的留言發佈與刪除的文章就介紹到這瞭,更多相關JavaScript留言發佈刪除內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- javascript實現簡單留言板案例
- JavaScript Dom對象的操作
- JavaScript操作元素教你改變頁面內容樣式
- JavaScript 中的文檔對象模型 DOM
- JavaScript仿京東實現秒殺倒計時案例詳解