2

我正在学习 HTML DOM 模型,但遇到了一个问题。我无法理解 createDocumentFragment() 方法在以下代码中是如何工作的。

HTML 代码:

<!DOCTYPE html>
<html>
<body>

<ul><li>Coffee</li><li>Tea</li></ul>

<button onclick="myFunction()">Try it</button>

<script>

function myFunction()
{
var d=document.createDocumentFragment();
d.appendChild(document.getElementsByTagName("LI")[0]);
d.childNodes[0].childNodes[0].nodeValue="Milk";
document.getElementsByTagName("UL")[0].appendChild(d);
};

</script>

</body>
</html>

我知道 createDocumentFragment() 方法会创建一个虚构的 Node 对象,当您想要提取文档的部分内容时它很有用。 appendChild() 方法将节点附加到节点的最后一个子节点。但是以下是什么意思:

 d.childNodes[0].childNodes[0].nodeValue="Milk"; 

不应该d.childNodes[0].nodeValue="Milk";吗。。请有人给我一个清楚的解释上面的 DOM 模型是如何工作的!

4

1 回答 1

2

在代表字符串“Coffee”的内部有一个文本节点<li>,这就是被“Milk”替换的内容。片段<li>的第一个孩子是 ,其第一个孩子是文本节点。

于 2013-10-02T03:41:42.413 回答