在使用 jQuery 中创建新的 html 节点时
$('<some-node>some html code</some-node>');
在附加之前,它不会成为 DOM 的一部分。但是,这并不意味着该节点没有父节点。
如果创建的节点是空的,例如:
var myNewNode = $('<div>Hello</div>');
您可以检查父级:
myNewNode[0].parentNode; // Who is the parent?
看到你得到
DocumentFragment
结果。DocumentFragment
是一些类似于 的对象document
,但不是 DOM 树的一部分。
现在奇怪的事情来了。当您创建一个空节点时,例如
var myNewEmptyNode = $('<div></div>');
并尝试检查其内容
myNewEmptyNode[0].parentNode; // Who is now the parent?
令人惊讶的是你得到
null
我无法理解这种行为,并且在 jQuery 文档中一无所获。我在尝试调试为什么 javascriptMVC mxui 模态在空 div 上失败时发现了它。
我已经在 Chromium 和 Opera 中测试过这种行为,所以它似乎不是与浏览器相关的问题。
有人对此有解释吗?