function parent(elem) {
var parent = elem.parentNode;
return parent && parent.nodeType !== 11 ? parent : null;
}
有点不懂为什么要加 parent.nodeType !== 11这个条件,求大神解析一下
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
nodeType==11节点是DocumentFragmentDocumentFragment节点 不属于文档树如果一个元素的父节点是DocumentFragment, 那么说明这个元素还没有插入到文档树中,是没有父节点的。nodeType 11 代表的是DocumentFragment,文档片段节点。可以查MDN
理解了DocumentFragment这个就好了。
这本身就是一个轻量级文档对象,并不直接在dom树中,缺失部分一部分dom的方法。
jQuery的源代码注释包含这句,或许也可以有参考
// (excepting DocumentFragment context, where the methods don't exist)