天天看點

溫習javascript DOM程式設計

Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

<html xmlns="http://www.w3.org/1999/xhtml">  

<head>  

    <title>複習Dom操作</title>  

    <style type="text/css">  

    #newTest   

    {   

        color:Red;   

        }   

    </style>  

    <script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>  

    <script type="text/javascript">  

//        //jQuery寫法--頁面加載完成   

//        $(document).ready(function () {   

//        });   

//        //可以簡寫成   

//        $(function () {    

//   

        //        });   

        //标準js中的寫法 --頁面加載完成   

        window.onload = function () {   

            var root = document.documentElement; //DOM根節點 --文檔節點   

            var farDIV = document.getElementById("farther"); //根據ID獲得DOM的“元素節點”   

            //元素節點的一些常用的屬性   

            //document.getElementsByTagName("")//根據元素(标簽)名稱獲得DOM的“元素節點”(可能是單個或一組)   

            //document.getElementsByName("")//根據name屬性獲得DOM的“元素節點”(可能是單個或一組)   

            var idNode = farDIV.getAttributeNode("id"); //獲得屬性為id的“屬性節點”   

            //注意:不要把 getAttribute("id")和getAttributeNode("id")搞混了,前者擷取的是屬性的值,後者擷取的屬性節點   

            var textNode = farDIV.firstChild; //farDIV的第一個子節點   

            //DOM中常用的屬性   

            //屬性(其實隻在屬性節點中定義才有效)   

            //farDIV.attributes;//傳回該節點的所有屬性對象的數組   

            //節點名稱   

            // alert(root.nodeName + ":" + farDIV.nodeName + ":" + idNode.nodeName + ":" + textNode.nodeName);   

            //nodeType(不支援IE)有五種,分别代表:标簽(元素)節點,屬性節點,文本節點,根節點,注釋節點   

            //alert(root.nodeType + ":" + farDIV.nodeType + ":" + idNode.nodeType + ":" + textNode.nodeType);   

            //節點值   

            //alert(root.nodeValue + ":" + root.nodeValue + ":" + idNode.value + ":" + textNode.nodeValue);   

            //根節點的一些常用屬性 -- 建立新節點   

            var newNode = document.createElement("div"); //建立一個div節點   

            var text = document.createTextNode("這是我手動建立的"); //建立一個文本節點   

            newNode.appendChild(text); //将文本節點插入div節點中   

            var attrNode = document.createAttribute("id"); //建立屬性節點,屬性名為“id”   

            newNode.setAttributeNode(attrNode);   //将newNode節點的屬性節點設定為attrNode   

            newNode.setAttribute("id", "newTest"); //設定newNode節點的id屬性設定為newTest   

            //var comment = document.createComment("我是注釋");//建立注釋節點   

            //擷取頁面中的body标簽所在節點   

            var body = root.lastChild; //擷取root的最後一個子節點   

            body.appendChild(newNode); //将建立的節點插入body中   

            //如果添加成功,則CSS會生效(字型變紅,ID選擇器有效)   

            //擷取元素的屬性 alert(farDIV.id);   alert(farDIV.getAttribute("id"));   

            alert(newNode.getAttribute("id")); //HTML中擷取節點的屬性 -- 在XHTML中的可以簡寫 :alert(newNode.id); //   

            //動态的建立表格   

            //1.可以使用與上面類似的方式,建立節點、拼接、插入...  但是這樣操作似乎很麻煩   

            //2.可以使用更加簡單的操作方式   

        };   

    </script>  

</head>  

<body>  

<div id="farther">我是父div</div>  

</body>  

</html>  

繼續閱讀