天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

javascript下查找父節點的簡單方法

<div>
       <a href="#">標題</a>
       <ul id="demo">
           <li><a href="#" onclick="selectThisItem(this)">項目一</a></li>
               <ul>
                   <li><a href="#" onclick="selectThisItem(this)">子類一</a></li>
                   <li><a href="#" onclick="selectThisItem(this)">子類二</a></li>
               </ul>
           <li><a href="#" onclick="selectThisItem(this)">項目一</a></li>
           <li><a href="#" onclick="selectThisItem(this)">項目</a></li>
       </ul>
</div>


上面的代碼中,在點擊項目或子類時,因為觸發的事件一樣,參數也一樣,能區別用戶點擊的到底是“項目x”還是“子類x”,除了this.innerHTML來判斷它們的內在文字外,還可以根據它們在以<ul id="demo">元素為根節點的xml文檔中的縱向位置(節點深度)來區別,比如“項目一”在<ul id="demo">中的節點深度是2,“子類一”的節點深度是4.

計算節點深度在排除遞歸方法后,找到了一個更為簡單的方法:



function parentIndexOf(node,parent){
   if(node==parent){return 0;}
   for (var i=0,n=node; n=n.parentNode; i++){
       if(n==p){return i;}
       if(n==document.documentElement){return -1;} //找不到目標父節點,防止死循環
   }
}


函數的返回值是索引數字,如果入口節點與查找的父節點相同(即同一個元素),返回值為0,向上循環找到父節點后返回向上查找的節點級數,如果向上查找,到了整個頁面的根節點,比如是<html>,還找不到,就返回-1,并結束循環。

返回值與String對象內置的indexOf方法相似。函數的關鍵是for的第二個參數n=n.parentNode,感覺比較巧妙。

JavaScript技術javascript下查找父節點的簡單方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产高清-国产av | CHINESE熟女老女人HD视频 | 色橹橹欧美在线观看视频高清 | 丝袜美腿美女被狂躁在线观看 | 亚洲一区免费香蕉在线 | 又黄又湿免费高清视频 | 另类重口bdsm日本tv | 欧美巨大巨粗黑人性AAAAAA | 簧片高清在线观看 | 97人妻AV天天澡夜夜爽 | 午夜影院和视费x看 | 先锋资源av | 日本19禁啪啪吃奶大尺度 | 真实国产乱子伦精品一区二区三区 | 老板揉搓秘书丰满大乳 | 久草在线草a免费线看 | 成人小视频在线免费观看 | 青青热久久综合网伊人 | 抽插内射高潮呻吟V杜V | 一个人免费视频在线观看高清频道 | 成人久久欧美日韩一区二区三区 | 色AV色婷婷96人妻久久久 | 日本bbwhd| 一本道久在线综合道 | 26uuu老色哥 259luxu高跟黑色丝袜系列 | 麻豆精品国产剧情观看 | 超熟女专门志 | 亚洲精品久久久久69影院 | 国产在线aaa片一区二区99 | 十九岁韩国电影在线观看 | 午夜影视不用充钱的免费 | 边摸边吃奶边做下面视频 | 高清国产在线观看 | bl(高h)文 | 手机看片国产免费久久网 | 日本久久频这里精品99 | 在线观看永久免费网址 | 且试天下芒果免费观看 | 欧美gv明星 | 亚洲国产成人爱AV在线播放丿 | 漂亮的保姆6在线观看中文 漂亮的保姆5电影免费观看完整版中文 |