javascript下查找父节点的简单方法

2016-02-19 09:18 5 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享javascript下查找父节点的简单方法吧。

【 tulaoshi.com - Web开发 】

div
       a href="#"标题/a
       ul id="demo"
           lia href="#" onclick="selectThisItem(this)"项目一/a/li
               ul
                   lia href="#" onclick="selectThisItem(this)"子类一/a/li
                   lia href="#" onclick="selectThisItem(this)"子类二/a/li
               /ul
           lia href="#" onclick="selectThisItem(this)"项目一/a/li
           lia 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,感觉比较巧妙。

来源:http://www.tulaoshi.com/n/20160219/1590306.html

延伸阅读
标签: 生活常识
夏季驱蚊的简单方法   1、吃大蒜可有效驱蚊,因为蚊子不喜欢人体分泌出来的大蒜味。 2、口服维生素B、通过人体生理代谢后从汗液排出体外,会产生一种蚊子不敢接近的气味。服法为睡前一小时口服维生素B1~2片,但不要长期大量服用。 图老师阅读配图 3、穿黄色、模色、白色衣服在日常生活中,常见有些人经常挨蚊子咬,而...
标签: 美容护肤
芦荟汁 1 可以用芦荟胶涂抹局部,消炎止痒,褪黑祛疤,促进皮肤新陈代谢。注意保持局部干净卫生,不要用手抠局部。在疤痕初期食用芦荟汁具有减轻疤印的作用,这是因为芦荟凝胶所含的氨基酸类、有机酸类、芦荟辛等成分能抑制酪氨酸酶活性,阻碍黑色素的形成。 冰河泥面膜 2 不小心擦伤或出现其他较浅的伤痕,可以在用点酒止血消毒后,在...
标签: 整容
问答 图钉提问: 天生的眼袋和后天的眼袋,现在越来越严重了!: 图老师解答: 病情分析:        眼袋系下睑皮肤,皮下组织,肌肉及眶膈松弛,眶后脂肪肥大,突出形成袋状突起称眼袋。与个人体质、睡眠不足等有很大关系。       指导意见:      ...
【去斑的简单方法】 找到去斑的简单方法可以帮助爱美的女性塑造完美的肌肤,让您早日拥有完美的肌肤,当今社会上的祛斑方法有很多,我们都希望可以早日拥有完美的肌肤,让您更具有魅力,希望女性们可以尽快塑造美丽,让您更具有魅力。 向你介绍去斑的简单方法: 1,茄子1个,切片取汁磨擦局部,1日3次,10天见效。 ...
治疗失眠的简单方法——饮食清淡 少吃辛辣刺激性和肥甘油腻的食物,中医认为,这些食物可能引起人的心火亢盛而心烦失眠。因此,在平时的饮食中应该以清淡为主,可以根据个人喜好加入些五谷杂粮。 失眠治疗的简单方法 治疗失眠的简单方法——规律作息 如果你想彻底告别失眠,最好规律你的作息。坚持每...

经验教程

848

收藏

76
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部