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

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

jquery有个parentsUntil方法:

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

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

阅读 4.6k
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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题