zoukankan      html  css  js  c++  java
  • 第五节(HTML DOM (文档对象模型)事件、节点)

        HTML DOM 允许 JavaScript 改变 HTML 元素的内容
      改变 HTML 输出流
      JavaScript 能够创建动态的 HTML 内容:
      在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容:  document.write(Date());
      改变 HTML 内容
    修改 HTML 内容的最简单的方法时使用 innerHTML 属性, 如需改变 HTML 元素的内容 
     语法 :  document.getElementById(id).innerHTML = new HTML ;
      document.getElementById("p1").innerHTML="New text!";
    <div id="test">
        
        <p id="t_one">中山学院</p>
        <p id="t_two">软件工程</p>
    
    </div>
    <script type="text/javascript"> // 创建一个新的p标签元素 var p = document.createElement("p"); // 创建文本的节点 var node = document.createTextNode("中山学院"); // 在p元素后边追加文本节点 p.appendChild(node); // 获取test这个元素的对象 var test = document.getElementById("test"); // 向test元素追加新元素 test.appendChild(p); // 删除已经存在的html元素 var t = document.getElementById("test"); var pp = document.getElementById("t_two"); t.removeChild(pp); </script> </body>
    <body>
    
        <div id="txt" onmouseover="changeBackground();" onmouseout="bak();"></div>
    
    <script type="text/javascript">
        
        function changeBackground(){
            document.getElementById("txt").style.background = "red";
        }
    
        function bak(){
            document.getElementById("txt").style.background = "#690";
        }
    
    
    </script>
    
    </body>
      HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应
    
     一. 对事件做出反应
     
      我们可以在事件发生时执行 JavaScript,当用户在 HTML 元素上点击时。如需在用户点击某个元素时执行代码,请向一个 HTML 事件属性添加 JavaScript 代码 。
    
      <1> 点击元素时: <p onclick="this.innerHTML='Ming太帅了 ! '">Javascript HTML DOM</p>
      
      <2> 从事件处理器调用一个函数:
      <script> function changetext(id) { id.innerHTML="Ming"; }  </script>
      <p onclick="changetext(this)">点这里</p>
    
      <3> HTML 事件属性 :  <button onclick="displayDate()">点击这里</button>
      <4> 使用 HTML DOM 来分配事件
      向 button 元素分配 onclick 事件: document.getElementById("myBtn").onclick=function(){displayDate()};
            <style type="text/css">
                *{margin:0;padding:0;}
                #txt{300px;height:100px;background:#690;margin:120px auto;cursor: pointer;}
            </style>
    
    <body>
    
        <div id="txt" onmousedown="an()" onmouseup = "fang()"></div>
    
    <script type="text/javascript">
        
        // 首先当点击鼠标按钮时,会触发 onmousedown 事件
        function an(){
            document.getElementById("txt").style.background = "yellow";
        }
        function fang(){
            document.getElementById("txt").style.background = "#690";
        }
    </script>
    </body>
    onload 和 onunload 事件
    
      onload 和 onunload 事件会在用户进入或离开页面时被触发。
      onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。
      onload 和 onunload 事件可用于处理 cookie。
    
      例:  <body onload="checkCookies()">
    
      onchange 事件
      onchange 事件常结合对输入字段的验证来使用。当用户改变输入字段的内容时,会调用函数
    
      例  :  实战
    
      onmouseover 和 onmouseout 事件: 可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数 
    
    <script type="text/javascript">
                function message(){
                    alert("欢迎您 光临小店 ,我是店小二为您服务 !");
                }
            
                function bb(){
                    alert("欢迎下次再来!!");
                }    
            </script>
    
        </head>
    <body onunload="bb();">
    </body>
     
     click事件
      
      onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。
      首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件
      最后,当完成鼠标点击时,会触发 onclick 事件
    
      onload
      onfocus
      鼠标事件
    
    <style type="text/css">
                *{margin:0;padding:0;}
                #txt{300px;height:100px;background:#690;margin:120px auto;cursor: pointer;}
            </style>
    
        </head>
    <body>
    
        <div id="txt" onmousedown="an()" onmouseup = "fang()"></div>
    
    <script type="text/javascript">
        
        // 首先当点击鼠标按钮时,会触发 onmousedown 事件
        function an(){
            document.getElementById("txt").style.background = "yellow";
        }
        function fang(){
            document.getElementById("txt").style.background = "#690";
        }
    
    </script>
    
    </body>
    
    //////////////////////////////////////////////////////
    
    
    <body>
    
        请输入文字:<input type="text" onfocus="myFocus();" id="text"/> <br /><br />
        
        请输入文字(另一种写法):<input type="text" onfocus="myFocus01(this);"/>
        <script type="text/javascript">
            function myFocus(){
                document.getElementById("text").style.background = "red";
            }
    
            // 
            function myFocus01(t){
                t.style.background = "red";
            }
        </script>
    </body>
     click事件
     
      onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。
      首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件
      最后,当完成鼠标点击时,会触发 onclick 事件
    
      onload
      onfocus
      鼠标事件
    
    <style type="text/css">
                *{margin:0;padding:0;}
                #txt{300px;height:100px;background:#690;margin:120px auto;cursor: pointer;}
            </style>
    
        </head>
    <body>
    
        <div id="txt" onmousedown="an()" onmouseup = "fang()"></div>
    
    <script type="text/javascript">
        
        // 首先当点击鼠标按钮时,会触发 onmousedown 事件
        function an(){
            document.getElementById("txt").style.background = "yellow";
        }
        function fang(){
            document.getElementById("txt").style.background = "#690";
        }
    </script>
    </body>
    
    //////////////////////////////////////////////////////
    
    <body>
    
        请输入文字:<input type="text" onfocus="myFocus();" id="text"/> <br /><br />
        请输入文字(另一种写法):<input type="text" onfocus="myFocus01(this);"/>
        <script type="text/javascript">
            function myFocus(){
                document.getElementById("text").style.background = "red";
            }
            // 
            function myFocus01(t){
                t.style.background = "red";
            }
        </script>
    </body>
    <select onchange="myChange(this)">
        <option value="0">--请选择月--</option>
        <option value="1">1月</option>
        <option value="2">2月</option>
        <option value="3">3月</option>
        <option value="4">4月</option>
        <option value="5">5月</option>
    </select>
    
    
    <script type="text/javascript">
        function myChange(val){
            alert(val.value);
        }
    </script>
    </body>
    document常用方法
    
    document.write() //动态向页面写入内容
    document.createElement(Tag) //创建一个html标签对象
    document.getElementById(ID) //获得指定ID值的对象
    document.getElementsByName(name) //获得指定name值的对象
    document.body.appendChild(oTag)
    
    //////////////////获取ID
    <body>
        <input type="text" id="username" value="124"/>
    
        <div id="tm_div"><span>如何获取div的值呢?innerHTML/innerText<b>我是一个加粗的</b><span></div>
        <span id="tm_span">如何获取span的值呢?</span>
        <p id="tm_p">如何获取span的值呢?</p>
        <a href="javascript:void(0);" id="tm_link">点击我?</a>
    
    
        
        <script type="text/javascript">
            //操作网页上的标签元素就使用document.
    
            //什么是document 文档对象模式(Document Object Model)---DOM
            //写方法和定义的时候严格区分大小写
            //id选择器:唯一标识符
            //方法:document.getElementById(元素的id)根据id获取对象
            //.value只有form元素才有意义
            var value = document.getElementById("username").value;
            //获取div.span等其他元素(p,label,em,span,div,h1-h6 a table td tr)
            //获取值得方式是:innerText(纯文本)/innerHTML(带有格式的文本)
            var divText = document.getElementById("username").innerText;
            alert("innerText的值:"+divText);
            var divHTML = document.getElementById("username").innerHTML;
            alert("innerHTML"+divHTML);
            var divText = document.getElementById("username").outerText;
            alert("outerText的值:"+divText);
            var divHTML = document.getElementById("username").outerHTML;
            alert("outerHTML的值:"+divHTML);
            
        </script>
     </body>

    1:<body>
      
      <input type="checkbox" name="hobbys" value="爬山">爬山
      <input type="checkbox" name="hobbys" value="音乐">音乐
      <input type="checkbox" name="hobbys" value="读书">读书
      <input type="checkbox" name="hobbys" value="游泳">游泳
    	
      <script type="text/javascript">
    	//document.getElementsByName:只是用含有name元素的标签.如果input
    	var divObj = document.getElementsByName("hobbys");
    	divObj[2].value = "睡觉";
    	//value/innerText/innerHTML/outerText/outerHTML
    
      </script>
     </body>
    /////////////////////////////////////////////////////////////////////////////
    2::
     <body>
      <div class="tm_div">123</div>
      <div class="tm_div">234</div>
      <div class="tm_div2">234</div>
      
    	
      <script type="text/javascript">
    	//document.getElementsByName()
    	//document.get(获取) Elements(元素)  By(通过)  TagName(标签)(tagName)通过
    	//document.getElementsByTagName(tagName)通过标签名获取当前标签对象,返回数组
    	
    	var objArr = document.getElementsByTagName("div");
    	//alert(objArr.length);//输出3
    
    	tm_getClass("tm_div","444444444444444");
    	
    
    	function tm_getClass(className,html){
    		var arr = [];
    		for(var i=0;i<objArr.length;i++){
    			if(objArr[i].getAttribute("class")==className){
    				arr.push(objArr[i]);
    			}
    		}
    		for(var i=0;i<arr.length;i++){
    			arr[i].innerHTML = html;
    		}
    	}
    	
      </script>
     </body>
    
    ////////////////////////////////////////////////////////
    3:
     <body>
     <input type="text" id="username" username="ming"/>
     <div id="tm_div"></div>
      <script type="text/javascript">
    	/*
    		
    		1:dom.getAttribute(key);//获取标签元素属性对应属性值
    		dom.setAttribute(key,value);//为标签元素添加属性和属性值
    		属性=属性值如:id="tm_div" type="text" name="username"
    		2:如果是元素自身由w3c提供元素属性是可以直接通过当前dom对象本身获取
    		如:document.getElementById("username").id
    		document.getElementById("username").type
    		document.getElementById("username").name
    		document.getElementById("username").style
    	*/
    	var inputDom = document.getElementById("username");
    	var username = inputDom.getAttribute("username");
    	inputDom.setAttribute("age",20);
    	alert(inputDom.getAttribute("age"));//输出20
      </script>
     </body>
    

      



  • 相关阅读:
    php echo return exit 区别
    Ubuntu下添加开机启动项的2种方法
    在php中定义常量时,const与define的区别
    yii分页操作
    ubuntu14.04设置静态ip
    Yii IIS8下使用伪静态【Url Rewrite】去掉index.php
    java 第三方库
    IDEA插件
    springboot扫描通用的依赖模块
    idea注册
  • 原文地址:https://www.cnblogs.com/Deng1185246160/p/4238175.html
Copyright © 2011-2022 走看看