溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

js中DOM三級(jí)列表的示例分析

發(fā)布時(shí)間:2021-08-02 12:16:40 來源:億速云 閱讀:141 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)js中DOM三級(jí)列表的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

效果圖:

js中DOM三級(jí)列表的示例分析

代碼如下:

<!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)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(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)容。

AI