zoukankan      html  css  js  c++  java
  • DOM模型

    文档对象模型

    • 元素节点
    • 文本节点
    • 属性节点

    使用DOM

    访问节点:

    • getElementsByTagName
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>getElementsByTagName()</title>
    <script language="javascript">
    function searchDOM(){
        //放在函数内,页面加载完成后才用<body>的onload加载
        var oLi = document.getElementsByTagName("li");
        //输出长度、标签名称以及某项的文本节点值
        alert(oLi.length + " " +oLi[0].tagName + " " + oLi[3].childNodes[0].nodeValue);
        
        var oUl = document.getElementsByTagName("ul");
        var oLi2 = oUl[1].getElementsByTagName("li");
        alert(oLi2.length + " " +oLi2[0].tagName + " " + oLi2[1].childNodes[0].nodeValue);
    }
    </script>
    </head>
    <body onload="searchDOM()">
        <ul>客户端语言
            <li>HTML</li>
            <li>JavaScript</li>
            <li>CSS</li>
        </ul>
        <ul>服务器端语言
            <li>ASP.NET</li>
            <li>JSP</li>
            <li>PHP</li>
        </ul>
    </body>
    </html>
    • getElementById:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>getElementById()</title>
    <script language="javascript">
    function searchDOM(){
        var oLi = document.getElementById("cssLi");
        //输出标签名称以及文本节点值
        alert(oLi.tagName + " " + oLi.childNodes[0].nodeValue);
    }
    </script>
    </head>
    <body onload="searchDOM()">
        <ul>客户端语言
            <li>HTML</li>
            <li>JavaScript</li>
            <li id="cssLi">CSS</li>
        </ul>
        <ul>服务器端语言
            <li>ASP.NET</li>
            <li>JSP</li>
            <li>PHP</li>
        </ul>
    </body>
    </html>
    • 父子关系:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>childNodes</title>
    <script language="javascript">
    function myDOMInspector(){
        var oUl = document.getElementById("myList");    //获取<ul>标记
        var DOMString = "";
        if(oUl.hasChildNodes()){                        //判断是否有子节点
            var oCh = oUl.childNodes;
            for(var i=0;i<oCh.length;i++)                //逐一查找
                DOMString += oCh[i].nodeName + "\n";
        }
        alert(DOMString);
    }
    </script>
    </head>
    <body onload="myDOMInspector()">
        <ul id="myList">
            <li>糖醋排骨</li>
            <li>圆笼粉蒸肉</li>
            <li>泡菜鱼</li>
            <li>板栗烧鸡</li>
            <li>麻婆豆腐</li>
        </ul>
    </body>
    </html>

    节点的属性:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>getAttribute()</title>
    <script language="javascript">
    function myDOMInspector(){
        //获取图片
        var myImg = document.getElementsByTagName("img")[0];
        //获取图片title属性
        alert(myImg.getAttribute("title"));
    }
    </script>
    </head>
    <body onload="myDOMInspector()">
    <img src="01.jpg" title="情人坡" />
    </body>
    </html>

    创建新的节点:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html>
    <head>
    <title>创建新节点</title>
    <script language="javascript">
    function createP(){
        var oP = document.createElement("p");
        var oText = document.createTextNode("这是一段感人的故事");
        oP.appendChild(oText);
        document.body.appendChild(oP);
    }
    </script>
    </head>
    <body onload="createP()">
    <p>事先写一行文字在这里,测试appendChild()方法的添加位置</p>
    </body>
    </html>

    innerHTML:

    <html>
    <head>
    <title>innerHTML</title>
    <script language="javascript">
    function myDOMInnerHTML(){
    var myDiv = document.getElementById("myTest");
    alert(myDiv.innerHTML);     //直接显示innerHTML的内容
    //修改innerHTML,可直接添加代码
    myDiv.innerHTML = "<img src='01.jpg' title='情人坡'>";
    }
    </script>
    </head>
    <body onload="myDOMInnerHTML()">
    <div id="myTest">
    <span>图库</span>
    <p>这是一行用于测试的文字</p>
    </div>
    </body>
    </html>
  • 相关阅读:
    GIT和SVN之间的五个基本区别
    IOS多线程(NSThread,NSOperation,Grand Central Dispatch)
    MV*模型及部分vue
    你未必知道的49个CSS知识点--(转发地址)
    VUE增删改查
    动态树形菜单的几种递归写法小结
    vue-cli
    git的使用
    自动化构建工具----gulp
    前端包管理工具—bower
  • 原文地址:https://www.cnblogs.com/flashweb/p/2879188.html
Copyright © 2011-2022 走看看