appendChild()是在指定节点的最后一个子节点列表之后添加一个新的子节点。然后
var newnode=document.createElement("p"); newnode.className="message"; var textnode=document.createTextNode("I Love JaveSript"); newnode.appendChild(textnode); document.body.appendChild(newnode);
这部分究竟怎么理解呢?createTextNode() 方法创建新的文本节点,返回新创建的 Text 节点。在上面代码的第4行的结果不应该构成的是,因为是在newnode的p节点下面在构造一个节点么?我原以为createTextNode()是放回的p标签来着,然后应该应该是
<p><p>I Love JaveSript </p></p>
可是只是
<p>I Love JaveSript </p>
为什么呢?createTextNod()返回的究竟是什么?
返回的就是“文本节点”,可以测试一下,script中添加下面一行代码:
alert(textnode);
会提示“object text”,就是文本节点的意思,p元素节点下加一个文本节点就是:
<p>I Love JaveSript</p>
如果按你之前的理解:
<p><p>I Love JaveSript</p></p>
这个就是在p下再建一个p节点然后再建一个text文本节点,就是这样:
var newnode2 = document.createElement("p"); newnode2.appendChild(textnode); newnode.appendChild(newnode2);
createTextNod()返回的是文本节点,为什么要返回p标签呢?