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)
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答867 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
nodeType==11
节点是DocumentFragment
DocumentFragment
节点 不属于文档树如果一个元素的父节点是DocumentFragment
, 那么说明这个元素还没有插入到文档树中,是没有父节点的。