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>
  • 相关阅读:
    QT代理Delegates使用实例(三种代理控件)
    delphi中的各种文件类型介绍
    猎豹傅盛:老大老二打仗老三就没了 不要边缘化
    老调重弹,大学有没有意义(没有利用好时间,读什么都没有用)
    应聘linux/ARM嵌入式开发岗位
    气死人不偿命,Q_OBJECT导致的C++报错,而且还看不明白(#ifdef没控制好,导致什么都不认识了)
    坚果云创业团队访谈:我们 DIY 云存储(不要过度关注竞争对手,尤其当我们还是小公司的时候)
    中国版dropbox“坚果云”和它背后的团队故事(大的优势就在于他为用户提供了设定多个文件夹的权利)
    一个灵巧的Delphi多播实事件现方案
    雷军的B面:那些赔到血本无归的失败投资案例
  • 原文地址:https://www.cnblogs.com/flashweb/p/2879188.html
Copyright © 2011-2022 走看看