问答详情
源自:1-6 遍历后代

是元素节点,且不是当前选择器元素

第48行的疑问: if (n.nodeType === 1 && n !== elem) { //是元素节点,且不是当前选择器元素 


这里是遍历所有子节点,且开始选取的是ul.firstchild,应该不需要再过过滤自己了吧?有点困惑 n!==elem什么意思?

children()函数,取的是level2的所有子元素吗?

提问者:慕粉18201507520 2016-12-07 14:20

个回答

  • qxw5267
    2016-12-08 18:01:31
    已采纳

    sibling() 方法,不包括本身  排除这种情况

  • 冥oo冥
    2016-12-19 16:04:51

    用childNodes然后遍历,和用ul.firstChild然后遍历下一个兄弟节点一样的吧

    作者上例sibling的目的是遍历兄弟节点吧,类似siblings

    如果直接实现,是不是用原生的childNodes直接得到数组比较好,而非自己建立数组一个一个插入再返回数组

    var ul = document.querySelectorAll('.level-2')[0];

    $.each(ul.childNodes, function(i, ele) {

        if (ele.nodeType === 1 ) {

            $('div').append('xx')

        }

      })