javascript操作dom要往上找很多层父节点应该怎么写?

mypoly
  • 1.8k

javascript操作dom要往上找很多层父节点应该怎么写?

jquery有个parentsUntil方法:

$("li.item-a").parentsUntil(".level-1")
  .css("background-color", "red");

javascript有这个同样功能的方法么?如果没有,要找很多层父节点应该怎么写?

回复
阅读 3.2k
3 个回答

你可以去看jquery parentsUntil的实现方法吗,其实就是一个遍历操作,挺简单的,

parentsUntil: function( elem, i, until ) {  
        return jQuery.dir( elem, "parentNode", until );  
    }
dir: function( elem, dir, until ) {  
        var matched = [],  
        cur = elem[ dir ];  
        while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {  
            if ( cur.nodeType === 1 ) {  
                matched.push( cur );  
            }  
            cur = cur[dir];  
        }  
        return matched;  
    }  

jq都能写,问js能不能实现,这问题真搞笑

Node.parentNode

宣传栏