Javascript DOM 的节点操作示例

第一个元素

第二个元素

直接追加

第一个元素

第二个元素

之前追加

第一个元素

第二个元素

之后追加

 

CODE:

<body>
<div>
    <div id="one" style="width:300px;height:110px;border:1px solid black;margin-top:15px">
    <p>第一个元素</p>
    <p>第二个元素</p>    
    </div>
    <a href="javascript:append()">直接追加</a>
    
    <div id="two" style="width:300px;height:110px;border:1px solid red;margin-top:15px">
    <p>第一个元素</p>
    <p>第二个元素</p>
    </div>
    <a href="javascript:insert()">之前追加</a>    
    
    <div id="three" style="width:300px;height:110px;border:1px solid green;margin-top:15px">
    <p>第一个元素</p>
    <p>第二个元素</p>
    </div>
    <a href="javascript:insertAfter()">之后追加</a>
</div>
 
<script>
    function createObj(){
        var img = document.createElement("img");
        img.src="lang.gif"
        img.style.width="50px";
        img.style.height="50px";
        return img;
    }
 
 
    function append(){
        var one = document.getElementById("one");
        var img = createObj();
        one.appendChild(img);
    }
    
    function insert(){ // 这个方法要求对象必须是目标对象的父级元素!!!
        var two = document.getElementById("two");
        var obj = document.getElementById("two").getElementsByTagName("p")[0];
        var img = createObj();
        two.insertBefore(img,obj);
    }
    
    function insertAfter(){ // 没有在元素之后插入的方法,可手动创建加以合适的判断
        var three = document.getElementById("three");
        var obj = document.getElementById("three").getElementsByTagName("p")[0];
        var img = createObj();
        if(obj.nextSibling)
            three.insertBefore(img,obj.nextSibling);
        else
            three.appendChild(img);
    }
    
</script>
</body>

posted on 2012-04-20 00:16  SkySoot  阅读(301)  评论(0编辑  收藏  举报

导航