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元素進行事件繫結事件
- jQuery實現DOM元素事件動態繫結jQuery事件
- 關於動態建立的DOM元素獲取不到的問題。
- js將dom元素集合轉換為陣列JS陣列
- 動態生成DOM元素的高度及行數獲取與計算方法
- DOM元素的遍歷
- DOM元素的選擇
- 集合上的動態規劃動態規劃
- 動態載入!dom應用!
- jQuery選擇器獲取元素並非是動態jQuery
- DOM 元素中的焦點管理
- JavaScript 元素集合JavaScript
- JavaScript動態建立元素和追加元素JavaScript
- JavaScript 拷貝dom元素JavaScript
- javascript中的動態集合NodeList&HTMLCollectionJavaScriptHTML
- JavaScript動態新增li元素JavaScript
- JavaScript動態生成html元素JavaScriptHTML
- 集合的前N個元素
- Phaser遊戲框架與HTML Dom元素之間的通訊互動遊戲框架HTML
- js動態建立元素,並控制元素樣式JS
- jQuery動態設定div元素的尺寸jQuery
- dom元素操作獲取等
- 動態生成HTML元素併為元素追加屬性HTML
- 動態除錯及LLDB技巧集合除錯LLDB
- 事件委託---動態建立的元素新增事件事件
- 動態生成的html元素繫結click事件HTML事件
- jQuery動態生成html元素的幾種方法jQueryHTML
- jQTips · 動態新增元素的清爽寫法QT
- jquery 為動態新增的元素繫結事件jQuery事件
- JavaScript元素集合介紹JavaScript
- 【面試必備】javascript操作DOM元素面試JavaScript
- js實現的dom元素拖動封裝外掛程式碼例項JS封裝
- JavaScript 動態新增與刪除元素JavaScript
- 元素週期表動態桌面桌布
- javascript如何動態生成一個元素JavaScript
- 使用HashSet<>去除重複元素的集合
- jquery中dom元素的attr和prop方法的理解jQuery