• javascript之DOM(Document Object Model) 文档对象模型


    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>无标题文档</title>
    </head>
    <body>
        <a href="#">标题1</a>
        <a href="#">标题2</a>
        <a href="#">标题3</a>
        <input type="button" onClick="writeUrl()" value="设置a标的地址"/>
    </body>
    <script type="text/javascript">
    /*
      DOM(Document Object Model) 文档对象模型
        
        一个html页面被浏览器加载的时候,浏览器就会对整个html页面上的所有标签都会创建一个对应的
        对象进行描述,我在浏览器上看到的信息只不过就是这些html对象的属性信息而已。我们只要能找到
        对应的对象操作对象的属性,则可以改变浏览器当前显示的内容。      
    
        var allNodes = document.all;   //获取html文件中的所有标签节点 。
        for(var i = 0; i<allNodes.length ; i++){
            alert(allNodes[i].nodeName);     //标签的名字  nodeName;
        }
    
    */
    
        function writeUrl(){
            var links = document.links; // 获取文档中含有href的属性的标签。
            for(var i = 0; i<links.length ; i++){
                links[i].href = "http://www.baidu.com";
                
            }
            
        }
    </script>
    </html>

    <!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>
    <script type="text/javascript">
    /*
        通过html元素的标签属性找节点。
            document.getElementById("html元素的id") 
            document.getElementsByTagName("标签名") 
            document.getElementsByName("html元素的name")
    */
    
        function showText(){
            var inputNode = document.getElementById("userName");  //根据ID属性值找元素
            inputNode.value = "设置好了文本";
        }
        //InnerHTml是用于设置标签体的内容的。 value是用于设置标签的value属性值.
    
    
        function showImage(){
            var images = document.getElementsByTagName("img"); //根据标签名获取所有的标签对象。
            for(var i = 0 ; i<images.length ; i++){
                images[i].src = "/user.png";
                images[i].width="100";
                images[i].height="100";
            }
        }
        
        
        
         function showDiv(){
            var divs = document.getElementsByName("info"); //根据标签的name属性值取找对应的标签,返回的是一个数组。
            for(var i = 0 ; i<divs.length ; i++){
                divs[i].innerHTML = "哈哈".fontcolor("red");    
            }
        }
    
    
    
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    <body>    
        <input type="text" id="userName" value="请输入用户名..." /><input type="button" onclick="showText()" value="设置文本"/>
        <hr/>
        
        <img src="" />
        <img src="" />
        <img src="" />
        <input type="button" onclick="showImage()" value="显示图片"/>
       <hr/>
        <div name="info"></div>
        <div name="info"></div>
        <div name="info"></div>
         <input type="button" onclick="showDiv()" value="设置div内容"/>
        
    </body>
    </html>

    根据属性找标签demo

    <!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>
    <script type="text/javascript">
    
        function checkAll(allNode){
            //找到所有的的选项
            var items = document.getElementsByName("item");
            //找到全选按钮的对象
            //var allNode = document.getElementsByName("all")[0];
            for(var i = 0 ; i<items.length ; i++){
                items[i].checked =     allNode.checked;
            }
        }
        
        
        function getSum(){
            var items = document.getElementsByName("item");
            var sum = 0;
            for(var i = 0 ; i<items.length ; i++){
                if(items[i].checked){
                    sum += parseInt(items[i].value);
                }    
            }    
            var spanNode = document.getElementById("sumid");
            spanNode.innerHTML = ("&nbsp;&nbsp;&nbsp;&yen;"+sum).fontcolor("green");
        }
        
    
    
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
        <div>商品列表</div>
            <input type="checkbox" name="item" value="3000" />笔记本电脑3000元<br />
            <input type="checkbox" name="item" value="1800"  />笔记本电脑1800元<br />
            <input type="checkbox" name="item" value="300"  />笔记本电脑300元<br />
            <input type="checkbox" name="item" value="3000"  />笔记本电脑3000元<br />
            <input type="checkbox" name="item" value="3000"  />笔记本电脑3000元<br />
            <input type="checkbox" name="item" value="3000"  />笔记本电脑3000元<br />
            <input type="checkbox" name="all" onclick="checkAll(this)"  /> 全选<br />
            <input type="button" value="总金额:" onclick="getSum()" /><span id="sumid"></span>
    </body>
    </html>

     创建字节入插入节点、设置节点的属性

    <!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>
    <script type="text/javascript">
    /*
     创建字节入插入节点、设置节点的属性。
     
         
        document.createElement("标签名")        创建新元素节点
        elt.setAttribute("属性名", "属性值")    设置属性
        elt.appendChild(e)                        添加元素到elt中最后的位置
    
    */
    
        var num  = 1;
        function add(){
            var inputNode = document.createElement("input"); //创建一个指定标签名字的节点。
            
            //setAttribute:设置节点的属性
            inputNode.setAttribute("type","button");
            inputNode.setAttribute("value","按钮"+num);
            num++;
            
            var bodyNode = document.getElementsByTagName("body")[0];
            bodyNode.appendChild(inputNode); //appendChild 添加子节点。
                    
        }
    
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    <body>
        <input type="button" onclick="add()" value="添加"/>
    </body>
    </html>

    添加附件

    <!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>
    <script type="text/javascript">
    /*
    插入目标元素的位置     
        elt.insertBefore(newNode, oldNode);            添加到elt中,child之前。
        注意: elt必须是oldNode的直接父节点。
                                       
        elt.removeChild(child)                    删除指定的子节点
        
        注意: elt必须是child的直接父节点。
        
    */    
        
        
        function addFile(){
            //先要创建一个tr对象
            var trNode = document.createElement("tr");
             //创建td对象
            var tdNode1 =  document.createElement("td");
            var tdNode2 =  document.createElement("td");
            //
            tdNode1.innerHTML ="<input type='file'/>";
            tdNode2.innerHTML = "<a href='#' onclick='delFile(this)' >删除附件</a>";
            //把td的节点添加到tr节点上
            trNode.appendChild(tdNode1);
            trNode.appendChild(tdNode2);
            
            var tbodyNode = document.getElementsByTagName("tbody")[0];
            var lastRow = document.getElementById("lastRow");
            
            tbodyNode.insertBefore(trNode,lastRow);
        }
        
        
        //删除附件
        function delFile(aNode){
            var trNode = aNode.parentNode.parentNode;
            var tbodyNode = document.getElementsByTagName("tbody")[0];
            tbodyNode.removeChild(trNode);
        }
        
    
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    <body>
        <table>
            <tr>
                <td><input type="file"/></td><td><a href="#" onclick="delFile(this)" >删除附件</a></td>
            </tr>
            
            <tr id="lastRow">
                <td colspan="2"><input onclick="addFile()" type="button" value="添加附件"/></td>
            </tr>
        </table>
    </body>
    </html>

    城市的联动

    <!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>
    <script type="text/javascript"> 
        
        function showCity(){
            //维护一个二维数组存储省份对应的城市
            var citys = [[],["广州","佛山","湛江","中山"],["长沙","衡阳","岳阳","郴州"],["南宁","桂林","贵港","柳州"]];            
        
            //获取省份对应的节点
            var provinceNode = document.getElementById("province");
            //获取省份选中的选项
            var selectIndex =  provinceNode.selectedIndex;
            //获取对应的城市
            var  cityDatas = citys[selectIndex];
            
            //找到city节点
            var cityNode = document.getElementById("city");
            
            /*
            //先清空city框所有option
            var children = cityNode.childNodes;
            for(var i = 0; i<children.length ; ){
                cityNode.removeChild(children[i]);
            }
            */
            
            //设置options的个数。
            cityNode.options.length = 1 ;
            
            
            
            //遍历对应的所有城市然后创建对应的option添加到city上。
            for(var index = 0; index<cityDatas.length ; index++){
                var option = document.createElement("option");
                option.innerHTML = cityDatas[index];
                cityNode.appendChild(option);
            }
            
            
        
        }
        
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    <body>
        省份<select id="province" onchange="showCity()">
                <option>省份</option>
                <option>广东</option>
                <option>湖南</option>
                <option>广西</option>
            </select>
        城市<select id="city"><option>城市</option></select>
        
    </body>
    </html>
  • 相关阅读:
    快速幂 笔记与思路整理
    倍增法求最近公共祖先 笔记与思路整理
    Dijkstra算法 笔记与思路整理
    appium搭建环境过程 ---新手总结(大牛勿喷,新手互相交流)
    selenium 学习笔记 ---新手学习记录(10) 问题总结(java)--poi--excel 操作
    selenium 学习笔记 ---新手学习记录(9) 问题总结(java)
    selenium 学习笔记 ---新手学习记录(8) 问题总结(java)
    selenium 学习笔记 ---新手学习记录(7) 问题总结(java)
    时间函数
    os 模块
  • 原文地址:https://www.cnblogs.com/loaderman/p/10006105.html
Copyright © 2020-2023  润新知