DOM基础教程之使用DOM(5)


    <head>
        <title>childNodes</title>
        <meta charset="utf-8" />
        <script language="javascript">
            window.onload = function() {
        var oPold = document.getElementsByTagName("p")[0];
        var oPnew = document.createElement("p");
        var oText = document.createTextNode("新节点")
       oPnew.appendChild(oText) ;
        oPold.parentNode.insertBefore(oPnew,oPold);//接收两个参数,一个是新参数,一个是旧节点参数
            }
        </script>
    </head>
    <body>
    <p>这里本来有个P</p>
    </body>

11.在特定的节点之后插入新元素(2015年1月9日补充)

DOM提供的方法只能用insertBefore()在目标元素前加入新的元素,或者利用appendchild()方法在父元素的childNodes末尾加入新的元素(示例:地址)。

而实际中常常用到在某个特定的元素末尾加入新的元素。而DOM方法并没有insertBefore()方法,但是利用现有的知识,完全可以利用现有知识进行编写。

代码思路如下

复制代码 代码如下:


    function insertAfter(newElement, targetElement) {
                var oparent = targetElement.parentNode; //找到目标元素的父元素
                if (oparent.lastChild == targetElement) //如果目标是最后一个元素了
                oparent.appendChild(newElement); //直接添加到最后一个元素的后面
                else //插入到下一个元素的父元素节点之前     
                    oparent.insertBefore(newElement, targetElement.nextSibling)

实例:(元素外追加)原来实例:地址

复制代码 代码如下:


<head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <p>第一个</p>
        <p>第二个</p>
        <script type="text/javascript">
            function insertAfter(newElement, targetElement) {
                var oparent = targetElement.parentNode; //找到目标元素的父元素
                if (oparent.lastChild == targetElement) //如果目标是最后一个元素了
                oparent.appendChild(newElement); //直接添加到最后一个元素的后面
                else //插入到下一个元素的父元素节点之前     
                    oparent.insertBefore(newElement, targetElement.nextSibling)
            }
            function interP() {
                var ooParent = document.getElementById("target");
                var oonewP = document.createElement("a");
                oonewP.setAttribute("href","");
                var ootextP = document.createTextNode("链接");
                oonewP.appendChild(ootextP);
                insertAfter(oonewP, ooParent);
            }
        </script>
    </body>

实例:元素内添加

12.添加文档碎片提高执行效率

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgxypd.html