function parent(elem) {
var parent = elem.parentNode;
return parent && parent.nodeType !== 11 ? parent : null;
}
有点不懂为什么要加 parent.nodeType !== 11这个条件,求大神解析一下
function parent(elem) {
var parent = elem.parentNode;
return parent && parent.nodeType !== 11 ? parent : null;
}
有点不懂为什么要加 parent.nodeType !== 11这个条件,求大神解析一下
DocumentFragment 接口表示的是没有父节点的最小的文档对象.。它被当做一个轻量版本的 Document 使用,用于存储已排好版的或尚未打理好格式的XML片段。
https://developer.mozilla.org...
理解了DocumentFragment这个就好了。
这本身就是一个轻量级文档对象,并不直接在dom树中,缺失部分一部分dom的方法。
jQuery的源代码注释包含这句,或许也可以有参考
// (excepting DocumentFragment context, where the methods don't exist)
1 回答861 阅读✓ 已解决
1 回答1.1k 阅读
2 回答780 阅读
2 回答626 阅读
2 回答605 阅读
1 回答687 阅读
2 回答528 阅读
nodeType==11节点是DocumentFragmentDocumentFragment节点 不属于文档树如果一个元素的父节点是DocumentFragment, 那么说明这个元素还没有插入到文档树中,是没有父节点的。