亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

javascript - 關于JS 事件委托操作ul li標簽的問題

瀏覽:92日期:2023-05-01 16:48:38

問題描述

先說一下我想要實現的功能,就是在一個ul 里面 點擊某個li標簽 就移除當前點擊的li。

但是搞來搞去就是沒能實現我想要的效果。

現在的問題如下

怎么用更直接的方法取得當前點擊的li下標,for循環取下標是百度淘來的。

移除是可以用了,但是它不是按我點擊的li移除 比如我點擊2 它會刪除3 or 4 不知道是不是if(e.target == children[i])這里判斷不對

點擊一次沒效果,要點第二次才執行removeChild。

HTML結構

<ul id='box'> <li data='2017'>0</li> <li>1</li> <li>2</li> <li>3</li> <li>4</li></ul>

JS代碼

document.getElementById('box').addEventListener('click',function(e) { if(e.target && e.target.nodeName == 'LI') {var children = this.children; //獲取ul里面的所有li元素集合for(var i=0;i<children.length;i++){ if(e.target == children[i]) { //對比目標元素和li集合元素//alert('目標元素的下標為:' + i); //輸出目標元素的下標 document.getElementById(e.target.parentNode.id).removeChild(document.getElementById(e.target.parentNode.id).childNodes[i]);return; }} }});

問題解答

回答1:

document.querySelector(’#box’).addEventListener(’click’,function(e){ if(e.target.nodeName=='LI'){e.target.parentNode.removeChild(e.target); }});回答2:

<!DOCTYPE HTML><html><ul id='box'> <li data='2017' onclick='removeli(this);'>0</li> <li onclick='removeli(this);'>1</li> <li onclick='removeli(this);'>2</li> <li onclick='removeli(this);'>3</li> <li onclick='removeli(this);'>4</li></ul><script>function removeli(node){node.parentNode.removeChild(node);}</script></html>

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 久久久久久88色偷偷 | 成人自拍视频在线 | 国产成人性毛片aaww | 成人人免费夜夜视频观看 | 高清不卡日本v在线二区 | 色悠久久久 | 大乳一级一区二区三区 | 亚洲精品国产第一区二区图片 | 成人久久18免费网站入口 | 国产中文字幕在线 | 亚洲欧美综合一区二区三区四区 | 国产亚洲精品看片在线观看 | 欧美唯爱网 全黄性播放 | 欧美日本一本 | 看免费一级毛片 | 日韩欧美视频在线播放 | 亚洲精品久久婷婷爱久久婷婷 | 国产九九在线 | 分享一个无毒不卡免费国产 | 九九热国产视频 | 好吊色青青青国产欧美日韩 | 亚洲欧美日韩一级特黄在线 | 美国大片黄色 | 成年视频xxxxxx在线 | 一区在线看 | 国产日韩第一页 | 一级毛片免费在线观看网站 | 国产在线综合视频 | 久久久久国产精品免费免费不卡 | 国产精品呦呦 | 免费网站在线观看国产v片 免费网站成人亚洲 | 四虎黄色| 国产成人综合一区人人 | 国产黄色大片 | 亚洲综合久久久 | 国产欧美日韩精品在线 | 国产手机在线观看 | 午夜成人免费影院 | 欧美狠狠入鲁的视频极速 | 黄色片免费在线观看视频 | 免费国产99久久久香蕉 |