您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)js中DOM三級(jí)列表的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
效果圖:
代碼如下:
<!DOCTYPE HTML> <html> <head> <title>聯(lián)動(dòng)菜單</title> <meta charset="utf-8" /> </head> <body> <div id="category"></div> <script> /*使用 HTML DOM 的方式實(shí)現(xiàn)聯(lián)動(dòng)菜單*/ var categories=[ {"id":10,"name":'男裝',"children":[ {"id":101,"name":'正裝'}, {"id":102,"name":'T恤'}, {"id":103,"name":'褲衩'} ]}, {"id":20,"name":'女裝',"children":[ {"id":201,"name":'短裙'}, {"id":202,"name":'連衣裙'}, {"id":203,"name":'褲子',"children":[ {"id":2031,"name":'長(zhǎng)褲'}, {"id":2031,"name":'九分褲'}, {"id":2031,"name":'七分褲'} ]}, ]}, {"id":30,"name":'童裝',"children":[ {"id":301,"name":'帽子'}, {"id":302,"name":'套裝',"children":[ {"id":3021,"name":"0-3歲"}, {"id":3021,"name":"3-6歲"}, {"id":3021,"name":"6-9歲"}, {"id":3021,"name":"9-12歲"} ]}, {"id":303,"name":'手套'} ]} ]; (function(arr){ var select=//創(chuàng)建select document.createElement("select"); //將opt追加到select中 select.add(new Option("-請(qǐng)選擇-",-1)); //遍歷arr中每個(gè)商品類別對(duì)象 for(var i=0;i<arr.length;i++){ //將option追加到select中 select.add( new Option(arr[i].name,arr[i].id) ); } var fun=arguments.callee; //為select綁定onchange事件: select.onchange=function(){ //this->.前的元素對(duì)象 //獲得this的parent,保存在變量parent中 var parent=this.parentNode; //反復(fù):只要this不是parent的最后一個(gè)子節(jié)點(diǎn) while(this!=parent.lastChild){ //刪除parent下的最后一個(gè)子節(jié)點(diǎn) parent.removeChild(parent.lastChild); } //獲得當(dāng)前select選中項(xiàng)的下標(biāo)i var i=this.selectedIndex; if(i>0){//如果i>0 //獲得arr中i-1位置的商品類別對(duì)象的children,保存在變量subCate var subCate=arr[i-1].children; //調(diào)用fun(subCate) subCate!==undefined&&fun(subCate); } } //將select追加到id為category的父元素下 document.getElementById("category") .appendChild(select); })(categories); </script> </body> </html>
關(guān)于“js中DOM三級(jí)列表的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。