javascript W3C.DOM操作HTML(三)

创建节点的另一种方法

createDocumentFragment()
一旦把节点添加到document.body(或 者它的后代节点)中,页面就会更新并反映出这个变化。对于少量的更新,这是很好的,然而,当要向document添加大量数据时,如果逐个添加这些变动, 这个过程有可能会十分缓慢。为解决这个问题,可以创建一个文档碎片,把所有的新节点附加其上,然后把文档碎片的内容一次性添加到document中,假如 想创建十个新段落。

<html>
    <head>
        <title>insertBefore() Example</title>
        <script type="text/javascript">
            function addMessages() {
                var arrText = ["first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", "ninth", "tenth"];
                
                var oFragment = document.createDocumentFragment();
                
                for (var i=0; i < arrText.length; i++) {
                    var oP = document.createElement("p");
                    var oText = document.createTextNode(arrText[i]);
                    oP.appendChild(oText);
                    oFragment.appendChild(oP);
                }
                
                document.body.appendChild(oFragment);

            }
        </script>
    </head>
    <body onload="addMessages()">

    </body>
</html>

 

HTML中节点访问的方法

1.根结点的访问

 Element root = document.documentElement ;
 Element root = document.body;

2.其他节点的访问

<table>
  <tr id="mytr">
    <td>John</td>
    <td>Doe</td>
    <td>Alaska</td>
  </tr>
</table>

 在上面的HTML代码中,第一个 <td> 是 <tr> 元素的首个子元素(firstChild),
而最后一个 <td> 是 <tr>元素的最后一个子元素(lastChild)。
<tr> 是每个 <td>元 素的父节点(parentNode)。
 注释:对 firstChild 最普遍的用法是访问某个元素的文本:var ele = document.getElementById("mytr");var text=ele.firstChild.nodeValue;
parentNode 属性常被用来改变文档的结构:假设您希望从文档中删除带有 id 为 "maindiv" 的节点

var x=document.getElementById("maindiv");
x.parentNode.removeChild(x);

 

你可能感兴趣的:(JavaScript,html)