dom元素集合是動態的
獲取dom元素集合是一個極為常見的操作,看如下程式碼:
[JavaScript] 純文字檢視 複製程式碼var cks=obox.getElementsByTagName("input")
上面的程式碼可以獲取obox元素下所有的input元素集合,再來看一段程式碼:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> body{ font-size:13px; } .divShow{ width:280px; padding-left:10px; } .divShow span{ padding-left:50px; } ul li{ list-style:none; background-color:#eee; margin:5px; height:30px; line-height:30px; } #del{ border:solid 1px #666; padding:2px; width:65px; } </style> <script type="text/javascript"> window.onload=function(){ var obt=document.getElementById("del"); var obox=document.getElementById("box"); var cks=obox.getElementsByTagName("input"); obt.onclick=function(){ if(confirm("真的要刪除選中項嗎?")){ for(var index=0;index<cks.length;index++){ if(cks[index].checked){ cks[index].parentNode.parentNode.removeChild(cks[index].parentNode); } } } } } </script> </head> <body> <div class="divShow"> <ul id="box"> <li><input type="checkbox" id="Checkbox" /><a href="#">螞蟻部落一softwhy.com</a></li> <li><input type="checkbox" id="Checkbox" /><a href="#">螞蟻部落二softwhy.com</a></li> </ul> <span><input type="button" id="del" value="刪除"/></span> </div> </body> </html>
上面的程式碼表面上看上去可能完美無缺,但是並不能完成我們的任務,比如,兩條新聞標題都被選中的時候,點選刪除,只能夠刪除其中的一個,之所以出現這樣的情況是因為cks元素集合是動態的,當刪除第一個的時候,cks集合中的元素只剩下一個,length屬性值也就等於1,但是這時候index的值已經變為1,cks[1]已經超出邊界了。
解決上面的問題可以參閱javascript實現的點選彈出刪除提示框程式碼例項一章節。
相關文章
- jQuery實現DOM元素事件動態繫結jQuery事件
- 動態生成DOM元素的高度及行數獲取與計算方法
- DOM元素的遍歷
- DOM元素的選擇
- DOM 元素中的焦點管理
- JavaScript 元素集合JavaScript
- JavaScript動態新增li元素JavaScript
- js動態建立元素,並控制元素樣式JS
- dom元素操作獲取等
- javascript中的動態集合NodeList&HTMLCollectionJavaScriptHTML
- jQuery動態設定div元素的尺寸jQuery
- Phaser遊戲框架與HTML Dom元素之間的通訊互動遊戲框架HTML
- 動態生成HTML元素併為元素追加屬性HTML
- JavaScript元素集合介紹JavaScript
- 動態生成的html元素繫結click事件HTML事件
- jQuery動態生成html元素的幾種方法jQueryHTML
- 動態除錯及LLDB技巧集合除錯LLDB
- JavaScript 動態新增與刪除元素JavaScript
- 元素週期表動態桌面桌布
- kotlin 集合內元素比較Kotlin
- 獲取或操作DOM元素特性的幾種方式
- 圍繞DOM元素節點的增刪改查
- JavaScript的基礎語法及DOM元素和事件JavaScript事件
- JavaScript動態新增或者刪除HTML元素JavaScriptHTML
- JavaScript動態新增和刪除div元素JavaScript
- JavaScript動態設定元素背景圖片JavaScript
- v-bind 動態更新 HTML 元素上的屬性HTML
- [譯] 使用 closest() 函式獲取正確的 DOM 元素函式
- list集合按元素的某一屬性排序排序
- 動態規劃——用二進位制表示集合的狀態壓縮DP動態規劃
- vue 如果需要在DOM載入完成後獲取DOM的動態屬性,請使用updated生命週期Vue
- 誰動了我的 DOM?
- JavaScript DOM元素長寬等比例縮放JavaScript
- 谷歌瀏覽器審查編輯DOM元素谷歌瀏覽器
- vue1和vue2獲取dom元素的方法Vue
- 回到基礎:什麼是DOM及DOM操作?
- 【java】【集合】去除ArrayList中的元素、ArrayList巢狀ArrayListJava巢狀
- 《集合啦!動物森友會》是如何設計小動物的?
- DOM0、DOM2、DOM3事件處理方式的區別是什麼?事件