课程
/前端开发
/jQuery
/jQuery源码解析(DOM与核心模块)
第48行的疑问: if (n.nodeType === 1 && n !== elem) { //是元素节点,且不是当前选择器元素
这里是遍历所有子节点,且开始选取的是ul.firstchild,应该不需要再过过滤自己了吧?有点困惑 n!==elem什么意思?
children()函数,取的是level2的所有子元素吗?
2016-12-07
源自:jQuery源码解析(DOM与核心模块) 1-6
正在回答
sibling() 方法,不包括本身 排除这种情况
慕粉18201507520 提问者
用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')
}
})
举报
由浅入深的剖析jQuery库的设计与实现,揭开框架背后的秘密
4 回答.children() 返回的子元素包括其非直属子元素吗?也就是子元素的子元素吗?..
5 回答function sibling(n, elem)中的elem表示当前元素 ,n表示什么
2 回答parent是父亲,那parents是什么?所有的父级元素吗?
4 回答DOM元素和elemData缓存对象是什么关系,通过什么关联起来的
1 回答我用on绑定一个后来添加的元素的事件,并没有触发啊?