zoukankan      html  css  js  c++  java
  • 仿jQuery的siblings效果的js原生代码

    仿jQuery的siblings效果的js原生代码

    《previousSibling》 属性返回选定节点的上一个同级节点(在相同树层级中的前一个节点)。

    《nextSibling》 属性返回被选节点的下一个同级节点(在相同树层级中的下一个节点)。

    如果不存在这样的节点,则该属性返回 null。//元素节点的节点类型是 1  obj.previousSibling.nodeType ==1;

    reverse() 方法用于颠倒数组中元素的顺序。

    push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

    function siblings(o){//参数o就是想取谁的兄弟节点,就把那个元素传进去 
    var a=[];//定义一个数组,用来存o的兄弟元素 
    var p=o.previousSibling; 
    while(p){//先取o的哥哥们 判断有没有上一个哥哥元素,如果有则往下执行 p表示previousSibling 
    if(p.nodeType===1){ 
    a.push(p); 
    } 
    p=p.previousSibling//最后把上一个节点赋给p 
    } 
    a.reverse()//把顺序反转一下 这样元素的顺序就是按先后的了 
    var n=o.nextSibling;//再取o的弟弟 
    while(n){//判断有没有下一个弟弟结点 n是nextSibling的意思 
    if(n.nodeType===1){ 
    a.push(n); 
    } 
    n=n.nextSibling; 
    } 
    return a//最后按从老大到老小的顺序,把这一组元素返回 
    } 
    ————勇敢的少年啊 快去创造奇迹————
  • 相关阅读:
    POJ 1887 Testing the CATCHER
    HDU 3374 String Problem
    HDU 2609 How many
    POJ 1509 Glass Beads
    POJ 1458 Common Subsequence
    POJ 1159 Palindrome
    POJ 1056 IMMEDIATE DECODABILITY
    POJ 3080 Blue Jeans
    POJ 1200 Crazy Search
    软件体系结构的艺术阅读笔记1
  • 原文地址:https://www.cnblogs.com/masterccc/p/4948498.html
Copyright © 2011-2022 走看看