第48行的疑问: if (n.nodeType === 1 && n !== elem) { //是元素节点,且不是当前选择器元素
这里是遍历所有子节点,且开始选取的是ul.firstchild,应该不需要再过过滤自己了吧?有点困惑 n!==elem什么意思?
children()函数,取的是level2的所有子元素吗?
sibling() 方法,不包括本身 排除这种情况
用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')
}
})