最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

js查找父节点的简单方法_javascript技巧

来源:懂视网 责编:小采 时间:2020-11-27 20:39:26
文档

js查找父节点的简单方法_javascript技巧

js查找父节点的简单方法_javascript技巧: 标题 项目一 子类一 子类二 项目一 项目 上面的代码中,在点击项目或子类时,因为触发的事件一样,参数也一样,能区别用户点击的到底是项目x还是子类x,除了this.innerHTML来判断它们的内在文字外,还可以根据它们在以元素为根节点的
推荐度:
导读js查找父节点的简单方法_javascript技巧: 标题 项目一 子类一 子类二 项目一 项目 上面的代码中,在点击项目或子类时,因为触发的事件一样,参数也一样,能区别用户点击的到底是项目x还是子类x,除了this.innerHTML来判断它们的内在文字外,还可以根据它们在以元素为根节点的


标题

  • 项目一


  • 子类一

  • 子类二


  • 项目一

  • 项目



  • 上面的代码中,在点击项目或子类时,因为触发的事件一样,参数也一样,能区别用户点击的到底是“项目x”还是“子类x”,除了this.innerHTML来判断它们的内在文字外,还可以根据它们在以元素为根节点的xml文档中的纵向位置(节点深度)来区别,比如“项目一”在中的节点深度是2,“子类一”的节点深度是4.

    计算节点深度在排除递归方法后,找到了一个更为简单的方法:

    function parentIndexOf(node,parent){
    if(node==parent){return 0;}
    for (var i=0,n=node; n=n.parentNode; i++){
    if(n==parent){return i;}
    if(n==document.documentElement){return -1;} //找不到目标父节点,防止死循环
    }
    }
    函数的返回值是索引数字,如果入口节点与查找的父节点相同(即同一个元素),返回值为0,向上循环找到父节点后返回向上查找的节点级数,如果向上查找,到了整个页面的根节点,比如是,还找不到,就返回-1,并结束循环。

    返回值与String对象内置的indexOf方法相似。函数的关键是for的第二个参数n=n.parentNode,感觉比较巧妙。

    文档

    js查找父节点的简单方法_javascript技巧

    js查找父节点的简单方法_javascript技巧: 标题 项目一 子类一 子类二 项目一 项目 上面的代码中,在点击项目或子类时,因为触发的事件一样,参数也一样,能区别用户点击的到底是项目x还是子类x,除了this.innerHTML来判断它们的内在文字外,还可以根据它们在以元素为根节点的
    推荐度:
    标签: 方法 获取 找到
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top