• 39、重新复习js之三


    1、盒子模型典型标签

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <style type="text/css">
        div {
            display: none;
        }
            span {
        /*
            display : 调整标签类型
                block
                inline
                none 不显示,而不留位置
            
            display: none;
        */
        visibility: hidden;
        }
    </style>
    </head>
    <body>
        itcast传智播客<div>itcast传智播客</div>itcast传智播客 <br>
        itcast传智播客<span>itcast传智播客</span>itcast传智播客
    </body>
    </html>

    上边结果是下边这样的

    2、二级联动

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <select id="province" >
        <option>--请选择省份--</option>
    </select >
    
    <select id="city">
        <option>--请选择城市--</option>
    </select>
    </body>
    <script type="text/javascript">
    /*
        //json 对象
        //java 中的 map  key:value
        //创建json对象
        var json = {"name":"tom","age":18};
        //拿到json中的所有键
        for(var key in json){
        //根据键取得对应的值
            alert(key+"==>"+json[key]);
        }
    */
    
    var json = {"河北省":["廊坊市","保定市","石家庄"],"山东省":["济南","青岛","烟台"],"河南省":["郑州市","洛阳市","开封"]};
        
    //遍历json中的所有key,把key封装到option对象中,将option对象添加到省的select中
    //0 获得省的select对象
    var province = document.getElementById("province");
    var city = document.getElementById("city");
    //1 遍历json中的所有key
    for(var key in json){
    //2 key封装到option对象中
            var option = document.createElement("option");
            option.innerHTML = key;
    //3 添加
            province.appendChild(option);
        }
    
    //为province添加onchange事件
    province.onchange=function(){
        //0 每次添加市之前,清空市的下拉选
            city.length=1;
        //1. 获得用户选择的省
        var pronvinceKey = this.options[this.selectedIndex].innerHTML;
        //2. 根据选择的省去json中取得对应 市数组
        var cities = json[pronvinceKey];
        //3. 遍历数组中的所有市,封装到option对象中
        for(var i = 0 ; i < cities.length ; i++){
            var option = document.createElement("option");
                option.innerHTML = cities[i];
        //4. 将option添加到city中
                city.appendChild(option);
        }
        
    }
    
    
    </script>
    </html>

    上边结果是下边这样的

    3、check的反选等等功能

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>Untitled Document</title>
            
        </head>
        <body>
            <form method="post" action="">
                   请选择您的爱好!
                <br><input type="checkbox" id="checkedAll_2"/>全选/全不选
                   <br/>
                <input type="checkbox" name="items" value="足球"/>足球
                <input type="checkbox" name="items" value="篮球"/>篮球
                <input type="checkbox" name="items" value="游泳"/>游泳
                <input type="checkbox" name="items" value="唱歌"/>唱歌
                   <br/>
                <input type="button" id="CheckedAll" value="全 选"/>
                <input type="button" id="CheckedNo" value="全不选"/>
                <input type="button" id="CheckedRev" value="反 选"/> 
            
                
            </form>
        </body>
        <script language="JavaScript">
                //反选
                //1 获得反选按钮,添加点击事件
                document.getElementById("CheckedRev").onclick=function(){
                    //2 获得到要操作4个input 对象
                    var items =  document.getElementsByName("items");
                    //3 遍历
                    for(var i = 0 ; i < items.length ; i++){
                        //判断 ,当前遍历的input的选中状态
                        //alert(items[i].checked);
                        /* if(items[i].checked){
                                //选中 ==> 没选中
                            items[i].checked=false;
                        }else{
                                //没选中==> 选中
                            items[i].checked=true;    
                            
                        } */
                        items[i].checked = !items[i].checked;
                    }
                    
                }    
            
            
            
        </script>
    </html>

    4、左侧菜单

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>好友列表</title>
    <style type="text/css">
    table {
        border:#0099FF 1px solid;
        100px;
        border-collapse:collapse;
        }
        
    table td{
        border:#0066FF 1px solid;
        background-color:#FF9900;
        text-align:center;
        }
        
    table td div {
        background-color:#FFFF99;
        text-align:left;
        }
        
    table td a:link, table td a:visited {
        color:#00ffFF;
        text-decoration:none;
        }
        
    table td a:hover {
        color:#00CC00;
        }
    
    /*
    使用display属性:如果取值为none就是隐藏标签。
    */
    table td div {
        display:none;
        }
    
    .open {
        display:block;
        }
        
    .close {
        display:none;
        } 
    
    </style>
    
    <script type="text/javascript">
        function openDiv(a){
            //1.通过a元素得到 下面的div 
            var targetDiv = a.parentNode.getElementsByTagName("div")[0];
            //2.取得页面中所有div
            var divs = document.getElementsByTagName("div");
            //3.遍历所有div
            for(var i= 0; i < divs.length ; i ++){
                //判断当前遍历的div是不是第一步获得的div
                if(divs[i] == targetDiv){
                        //是 ==> 设置该div属性为block
                    //divs[i].style.display="block";
                        divs[i].className="open";
                }else{
                        //不是 ==> 设置div属性为none
                    //divs[i].style.display="none";
                        divs[i].className="close";
                }
            }
        }
        
    
    
    </script>
    </head>
    
    
    <body>
    <table>
        <tr>
            <td>
                <a href="javascript:void(0)" onclick="openDiv(this)">君王好友</a>
                <div>
                    秦始皇<br />
                    刘邦<br />
                    李世民<br />
                    康熙<br />
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <a href="javascript:void(0)" onclick="openDiv(this)">三国好友</a>
                <div>
                    刘备<br />
                    关羽<br />
                    张飞<br />
                    赵云<br />
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <a href="javascript:void(0)" onclick="openDiv(this)">美女好友</a>
                <div>
                    西施<br />
                    貂蝉<br />
                    杨贵妃<br />
                    王昭君<br />
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <a href="javascript:void(0)" onclick="openDiv(this)">IT好友</a>
                <div>
                    马云<br />
                    李开复<br />
                    俞敏洪<br />
                    冯威<br />
                </div>
            </td>
        </tr>
    </table>
    </body>
    </html>

    5、左侧选中蹦到右边

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>无标题文档</title>
    
    <style type="text/css">
    
    </style></head>
    
    <body>
    
    <div style="border:1px dashed #E6E6E6;margin:150px 0px 0px 450px; 350px; height:200px; background-color:#E6E6E6;">
    <table width="285" height="169" border="0" align="left" cellpadding="0" cellspacing="0" style="margin:15px 0px 0px 15px;">
      <tr>
        <td width="126">
            <!--multiple="multiple" 能同时选择多个   size="10"  确定下拉选的长度-->
            <select name="first" size="10" multiple="multiple" class="td3" id="first">
              <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>
              <option value="选项6">选项6</option>
              <option value="选项7">选项7</option>
              <option value="选项8">选项8</option>
            </select>    
        </td>
        <td width="69" valign="middle">
           <input name="add"  id="add" type="button" class="button" value="-->" /> 
           <input name="add_all" id="add_all" type="button" class="button" value="==>" /> 
           <input name="remove"  id="remove" type="button" class="button" value="&lt;--" />
           <input name="remove_all" id="remove_all" type="button" class="button" value="&lt;==" />
            </td>
        <td width="127" align="left">
          <select name="second" size="10" multiple="multiple" class="td3" id="second">
             <option value="选项9">选项9</option>
          </select>
        </td>
      </tr>
    </table>
    </div>
    </body>
    <script type="text/javascript">
        //1 为id为add元素添加事件
        document.getElementById("add").onclick=function(){
            //2 获得左侧select元素下所有option
                var first = document.getElementById("first");
                var second = document.getElementById("second");
                var options = first.options;
            //3 遍历并判断当前遍历的option是否被选中
            for(var i = 0; i< options.length ; i++){
                if(options[i].selected){
                //选中 ==> 添加到右侧select
                    second.appendChild(options[i]);
                    i--;
                }
            }
            
        }
    </script>
    </html>

    6、Node的CURD

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>节点的增删改查</title>
    <!--加入样式表-->
    <style type="text/css">
    div {
        border:#0099FF 1px solid;
        height:60px;
        120px;
        margin:20px 0px 20px 20px;
        padding:10px 0px 0px 20px;
        }
        
    #div_1{
        background-color:#00FFFF;
        }
        
    #div_2{
        background-color:#FF3399;
        }
        
    #div_3{
        background-color:#0000FF;
        }
        
    #div_4{
        background-color:#FFFF66;
        }
    </style>
    
    
    </head>
    
    
    
    <body>
        <div id="div_1">
            
        </div>
        
        <div id="div_2">
        div区域2
        </div>
        
        <div id="div_3">
            div区域3
        </div>
        
        
        
        <div id="div_4">
        div区域4
        </div>
        
        
        <hr />
        <input type="button" value="创建并添加节点" onclick="addNode()" />
        <input type="button" value="删除节点" onclick="deleteNode()" />
        <input type="button" value="替换节点" onclick="updateNode()" />
        <input type="button" value="克隆节点" onclick="copyNode()" />
    
    </body>
    <script type="text/javascript">
    //动态为div增加一个a元素,点击之后跳转到传智首页
    function addNode(){
        //1.创建a元素 <a></a>
        var aEle = document.createElement("a");
        //2.为a元素添加属性
        aEle.setAttribute("href", "http://www.itcast.cn");
        //3.为a元素添加文本
        aEle.innerHTML = "传智播客";
        //4.获得目标div
        var div_1 = document.getElementById("div_1");
        //5.添加
        div_1.appendChild(aEle);
    }
    //把div_2删除
    function deleteNode(){
        //1 获得要删除的元素
        var div_2 = document.getElementById("div_2");
        //2 找到该元素的父亲
        var parent= div_2.parentNode;
        //3 删除
        parent.removeChild(div_2);
    }
    //将div_3替换成一张图片
    function updateNode(){
        //1 找到要替换的div
        var div_3 = document.getElementById("div_3");
        //2 找到div的父亲
        var parent = div_3.parentNode;
        //3 创建一个img元素对象
        var imgEle = document.createElement("img");
        //4 添加属性(src)
        imgEle.setAttribute("src", "001.jpg");
        //5 替换
        parent.replaceChild(imgEle, div_3);
    }
    //将div_4 复制,并加入到页面末尾
    function copyNode(){
        //1 获得要复制的div
        var div_4 = document.getElementById("div_4");
        //2 复制  cloneNode=> 参数 如果是false.那么只复制本身不复制子节点.
                                  //true==> 复制本身和所有子节点
        var div_copy = div_4.cloneNode(true);
        //3 获得父亲
        //4 添加
        div_4.parentNode.appendChild(div_copy);
    }
    </script>
    
    </html>

    7、table动态添加数据

    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
            <title>添加用户</title>
        </head>
        <body>
            <center>
                <br><br>
                添加用户:<br><br>
                姓名: <input type="text" name="name" id="name"  />&nbsp;&nbsp;
                email: <input type="text" name="email" id="email" />&nbsp;&nbsp;
                电话: <input type="text" name="tel" id="tel" /><br><br>
                <input type="button" id="addUser" value="添加" />
                <br><br>
                <hr>
                <br><br>
                <table id="usertable" border="1" cellpadding="5" cellspacing=0>
                        <tr>
                            <th>姓名</th>
                            <th>email</th>
                            <th>电话</th>
                            <th>&nbsp;</th>
                        </tr>
                        <tr>
                            <td>Tom</td>
                            <td>tom@tom.com</td>
                            <td>5000</td>
                            <td><a href="javascript:void(0)" onclick="del(this)" >Delete</a></td>
                        </tr>
                        <tr>
                            <td>Jerry</td>
                            <td>jerry@sohu.com</td>
                            <td>8000</td>
                            <td><a href="javascript:void(0)" onclick="del(this)" >Delete</a></td>
                        </tr>
                </table>
            </center>
        </body>
        <script type="text/javascript">
        //DHTML ==> Dynamic HTML ==> 动态HTML ==> 整合了HTML CSS JAVAScript DOM
        // 对页面中的DOM对象的增强.
        // 对页面中的DOM对象增加了一些属性和方法.
        
        
        
        
        
            //1 获得添加按钮 , 添加点击事件
            document.getElementById("addUser").onclick=function(){
                //2.获得表单中,用户名,邮箱,电话的值
                    var name = document.getElementById("name").value;
                    var email = document.getElementById("email").value;
                    var tel = document.getElementById("tel").value;
                //3.创建一个tr对象
                    var tr = document.createElement("tr");
                //4.直接在tr中添加4个td
                    tr.innerHTML="<td>"+name+"</td><td>"+email+"</td><td>"+tel+"</td><td><a href='javascript:void(0)' onclick='del(this)' >Delete</a></td>";
                    
                
                /* //4.创建4个td,分别放入 用户名,邮箱,电话
                //5.将4个td 添加到tr中 */
                //6.tr添加到table中
                    document.getElementById("usertable").appendChild(tr);
            }
        
        //删除一行
        function del(a){
            //要删除一行,已知条件就是a标签.
            a.parentNode.parentNode.parentNode.removeChild(a.parentNode.parentNode);
        }
        
        
        </script>
    </html>

    结果就是下边这样

    8、猜数字

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
        //1 生成1~100之间的随机数
            var num1 = randomNumber();
            
            alert(num1);
            
            function guess(){
        //2 使用propmt 让用户输入数字,并比较
            var num2 = prompt("请输入1~100之间的数字!","0");
            if(isNaN(+num2)){
                //输入了无效数字,提示,并重复执行2步
                alert("请输入有效数字!");
                guess();
            
            } else if(num2 > num1){
                //大了==> 提示用户大了,并重复执行第2步
                alert("大了");
                guess();
            }else if(num2 < num1){
                //小了==> 提示用户小了,并重复执行第2步
                alert("小了");
                guess();
            }else{
                //猜对了==> 提示用户猜对了,询问是否继续游戏,
                var  result = confirm("恭喜您答对了!是否要继续游戏?")
                if(result){
                    //是   ==> 重复执行 1,2步
                    num1 = randomNumber();
                    guess();
                }else{
                    //不继续 ==> window.close();
                    window.close();
                }
            }
                
            }
    
            function randomNumber(){
                return Math.round(Math.random()*100);
            }
        
            guess();
    </script>
    
    </head>
    <body>
    
    </body>
    </html>

    9、window对象

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
    //window对象代表一个html文档.
        //方法
            // alert confirm prompt close
            // open => 打开一个新的窗口
            //语法window.open(URL,name,features,replace)
                // 参数1.新打开窗口的地址
                // 参数2.(没有用) 新打开窗口的名称.
                // 参数3. 新窗口的一些特征
                // 参数4. (没有用) 需不需要用新打开的窗口记录来替换调用open方法页面的历史记录.
                // 返回值: 返回新打开窗口的window对象.
            
            var baiduWindow = open("http://www.baidu.com","","width=200,height=100");
            
            alert(baiduWindow);
    
    //总结: window对象是由浏览器创建的,加载文档时,浏览器就自动创建出来了.我们直接使用方法和属性即可.
        //理论上window对象调用方法和属性时,不需要加前缀. 推荐加上"window.",
        
        
            
            
            
            
            
    </script>
    
    </head>
    <body>
    
    </body>
    </html>

    10、window对象之定时器

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
    //window对象代表一个html文档.
        //方法:
            // setInterval clearInterval
            // setTimeout  clearTimeout
            
            // 定时器方法 ,设置定时器(setInterval), 清除定时器(clearInterval).
            
            //参数1: 接受一个字符串.这个字符串是js代码.
            //参数1: 还可以接受一个函数对象.
            //参数2:接受一个整数,单位是毫秒
            //返回值: 打开的定时器的ID
            //每隔参数2毫秒数执行参数1代码或函数.
                //window.setInterval("alert('aaa');", 3000);
            
                var ID = window.setInterval(fun1, 3000);
            
                function fun1(){
                    alert('bbb');
                }
            //clearInterval ==>  清除定时器
            
            window.clearInterval(ID);
    //-----------------------------------------------------------------------
    
    
            
    </script>
    
    </head>
    <body>
        
    
    </body>
    </html>

    11、页面时钟

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        <input type="text" size="30" id="one" /><br/>
        <input type="button" id ="two" value="开始" onclick="fun1();" />
        <input type="button" id ="three" value="结束" onclick="fun2();" />
    
    </body>
    </html>
    <script type="text/javascript">
        var id;
    
        //控制文本框中内容
        //document.getElementById("one").value= "123";
        function fun1(){
              setTime();
            //3.调用setInterval 每隔一秒调用一次setTime方法.
            if(!id){
             id =    window.setInterval(setTime, 1000);
            }
        }
        
        function setTime(){
            //1.获得当前时间
            var date = new Date();
            //2.交给文本输入框显示
            document.getElementById("one").value= date.toLocaleString();
        }
    //停止时钟
        function fun2(){
            //
            clearInterval(id);
            id = undefined;
        }
    </script>

    12、window对象03

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
    //window对象代表一个html文档.
        //方法:
            // setTimeout  clearTimeout
            
            // 定时器方法 ,设置定时器(setTimeout), 清除定时器(clearTimeout).
            
            //参数1: 接受一个字符串.这个字符串是js代码.
            //参数1: 还可以接受一个函数对象.
            //参数2:接受一个整数,单位是毫秒
            //返回值: 打开的定时器的ID
            //参数2毫秒后执行参数1代码或函数.(只执行一次)
            
            //setTimeout("alert('aaa')",1000);
    
            //作业1:使用setTimeout方法完成页面时钟,需求跟刚才的例子一模一样.
    
            
    </script>
    
    </head>
    <body>
        
    
    </body>
    </html>

    13、window对象04

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
    //window对象代表一个html文档.
        //属性
            //self parent top 
            //frames
            //opener
            
    </script>
    
    </head>
    <body>
            <iframe src="03-页面时钟.html" >
            
            </iframe>
    
    </body>
    </html>

    14、history对象

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
    //history对象代表当前页面的访问历史
    //获得: history对象是window对象的属性.
        var history = window.history;
    //属性
        //length --> 当前标签页一共浏览过几个页面
        
    //方法
        //forward ==> 前进
        //back ==> 后退
        //go ==> 前进或后退
        //前进
        function fun1(){
            //window.history.forward();
            window.history.go(1);
        }
    </script>
    
    </head>
    <body>
            <a href="05-history对象02.html">05-history对象02.html</a>
            <input type="button" value="前进" onclick="fun1();"  />
    </body>
    </html>

    14、Location对象

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
    //Location对象代表了当页面的地址
        //属性
            //href  ==> 用来改变当前页面的地址
        //方法 
            //参数1,可以填一个url, 刷新到url指定页面.
            //reload() ==> 刷新当前页面
    function fun1(){
                
                window.location.href = "http://www.baidu.com";
            }
    function fun2(){
        
        window.location.reload();
    }    
    </script>
    
    </head>
    <body>
            <input type="button" value="百度" onclick="fun1();"  />
            <input type="button" value="刷新" onclick="fun2();"  />
    </body>
    </html>

    15、dom中的五类对象

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    
    </head>
    <body>
        <font id="one" color="red" >哈哈</font>
    </body>
    </html>
    <script type="text/javascript">
    //一下这些对象全都不是我们自己创建 的. 浏览器创建的.加载html文档时就已经创建了.
    
    //获得文档对象 
        var doc = window.document;
        /*     alert(doc.nodeName); //#document
            alert(doc.nodeValue); // null
            alert(doc.nodeType); // 9 */
    //获得元素对象
        var font = document.getElementById("one");
            /* alert(font.nodeName); //font
            alert(font.nodeValue); // null
            alert(font.nodeType); // 1 */
    //获得属性对象
        var color = font.getAttributeNode("color");
            /* alert(color.nodeName); // 属性名称
            alert(color.nodeValue); // 属性值
            alert(color.nodeType); // 2 */
    //获得文本对象
        var text = font.firstChild;
            alert(text.nodeName); // #text
            alert(text.nodeValue); // 文本内容
            alert(text.nodeType); //  3
    </script>

    16、获得Element对象方式01

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    
    </head>
    <body>
        <font id="one" color="red" >哈哈</font>
    </body>
    </html>
    <script type="text/javascript">
    //获得元素对象,方式01
    //获得元素对象 , 在整个文档范围内查找一个 id值为one的元素对象.
        var font = document.getElementById("one");
        
    </script>

    17、获得Element对象方式02

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    
    </head>
    <body>
        <font  color="red" >哈哈</font>
    </body>
    </html>
    <script type="text/javascript">
    //获得元素对象,方式02
    //获得元素对象 , 在整个文档范围内查找一个元素名称为font的元素对象.
    //返回一个 元素数组(nodeList,在js中就当数组用)
        var font = document.getElementsByTagName("font")[0];
        alert(font);
    </script>

    18、获得Element对象方式03

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    
    </head>
    <body>
        <font class="one" color="red" >哈哈</font>
    </body>
    </html>
    <script type="text/javascript">
    //获得元素对象,方式03
    //获得元素对象 , 在整个文档范围内查找Class名称为one的元素对象数组.
    //返回一个 元素数组(nodeList,在js中就当数组用)
        var font = document.getElementsByClassName("one")[0];
        alert(font);
    </script>

    19、获得Element对象方式04

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    
    </head>
    <body>
        <font name="one" color="red" >哈哈</font>
    </body>
    </html>
    <script type="text/javascript">
    //获得元素对象,方式04
    //获得元素对象 , 在整个文档范围内查找Name名称为one的元素对象数组.
    //返回一个 元素数组(nodeList,在js中就当数组用)
        var font = document.getElementsByName("one")[0];
        alert(font);
    </script>

    20、在元素范围内获得元素方式

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    
    </head>
    <body>
        <div id="one" >
            <div id="two" class="two" name="two" ></div>
        </div>
    </body>
    </html>
    <script type="text/javascript">
        var one = document.getElementById("one");
        //根据ID查找里面的div ==> 不支持
        /* var two =    one.getElementById("two");
        alert(two); */
        //根据 class查找 ==> 支持
            /* var two = one.getElementsByClassName("two")[0];
            alert(two); */
        //根据name查找 ==> 不支持
            /* var two = one.getElementsByName("two")[0];
            alert(two); */
        //根据标签名称查找==> 支持
            var two = one.getElementsByTagName("div")[0];
            alert(two);
    </script>

    21、dom中的事件01

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    
    </head>
    <body>
        <div id="one" ondblclick="alert('bbb');" >
            这是div
        </div>
        <input type="text" id="two" value="请输入用户名/邮箱/手机号" />
    </body>
    </html>
    <script type="text/javascript">
        //事件: 给对应的元素对象,添加一个Function类型的属性.
               //这个function对象会在相应的实际被调用.
               // 调用的时机跟 属性的名称有关.
            /* //1.div获得到
            var one = document.getElementById("one");
            //2.为div新增一个属性( Function)
            one.onclick = function (){
                alert('aaa');
            } */
            
        //以上是为元素对象附加事件属性的两种方式.
    //----------------------------------------------------------------
        //被支持的常用事件有哪些?
        // onblur 
        // onfocus
        var two =  document.getElementById("two");
            two.onfocus=function (){
                alert("onfocus");
            }
            two.onblur=function (){
                alert("onblur");
            }
    </script>

    22、dom中的事件02

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    
    </head>
    <body>
        <input type="text" id="two" /><br/>
        <select id="three" >
            <option>河北</option>
            <option>西藏</option>
            <option>新疆</option>
        </select>
    </body>
    </html>
    <script type="text/javascript">
        //被支持的常用事件有哪些?
        // onchange 
        var two =  document.getElementById("two");
            two.onchange=function (){
                alert("onchange");
            }
        //----
            var three =  document.getElementById("three");
            three.onchange=function (){
                alert("onchange");
            }
    </script>

    23、dom中的事件03

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    
    </head>
    <body>
        <input type="text" id="two" /><br/>
    </body>
    </html>
    <script type="text/javascript">
        //被支持的常用事件有哪些?
        // onkeydown 
        var two =  document.getElementById("two");
            two.onkeydown=function (event){
                if(event.keyCode == 13){
                    alert("表单提交啦!");
                }
            }
            
    </script>

    24、dom中的事件04

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
        //被支持的常用事件有哪些?
        // onload 
        function fun1(){
            var two =document.getElementById("two");
            alert(two);
        }
            
    </script>
    </head>
    <body onload="fun1();">
        <input type="text" id="two" /><br/>
    </body>
    </html>

    25、dom中的事件05

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <style type="text/css">
    div {
        300px;
        height:300px;
        border: 1px solid red;
    }
    
    </style>
    <script type="text/javascript">
        //被支持的常用事件有哪些?
        /* onmousedown 鼠标按钮被按下。 4 1 9 Yes 
            //onmouseup 鼠标按键被松开。 4 1 9 Yes  
            
            onmouseover 鼠标移到某元素之上。 3 1 9 Yes 
            onmouseout 鼠标从某元素移开。 4 1 9 Yes 
            
            onmousemove 当鼠标悬停时,连续被触发.。 3 1 9 Yes 
            
            */
    
        function fun1(){
            var two =document.getElementById("two");
            two.onmousedown=function (event){
                //鼠标按键按下时触发
                //获得按下的是哪个键
                alert(event.button);
            }
        /*     two.onmouseup=function (){
                alert("onmouseup");
            } */
            /* two.onmouseover=function (){
                alert("onmouseover");
            }
            two.onmouseout=function (){
                alert("onmouseout");
            } */
            two.onmousemove=function (event){
                //alert("onmousemove");
                alert(event.clientX+"=="+event.clientY);
            } 
            
        }
            
    </script>
    </head>
    <body onload="fun1();">
        <div id="two">
        
        </div>
    </body>
    </html>

    25、dom中的事件06

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript">
        //被支持的常用事件有哪些?
        /* onsubmit 当表单提交之前触发
            */
    
        function fun1(){
            var two =document.getElementById("two");
            two.onsubmit=function(event){
                alert('onsubmit');
                //做验证的话.如果验证失败,如何拦截表单提交?
                //拦截方式一:
                        //该事件是众多事件中最特殊的一个.
                        //该事件可以返回一个boolean型的值
                        // true==> 表单提交
                        // false ==> 拦截表单提交
                        //return false;
                //拦截方式二: 
                        //preventDefault() => 
                        
                    event.preventDefault();
            }
        }
            
    </script>
    </head>
    <body onload="fun1();">
        <form id="two" >
            <input type="text" name="name"  ><br/>
            <input type="submit" value="提交" />
        </form>
    </body>
    </html>

    26、dom中的事件07

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <style type="text/css">
        div {
            border: 1px solid red;
        }
        #one {
            300px;
            height:300px;
        }
        #two {
            100px;
            height:100px;
        }
    </style>
    <script type="text/javascript">
        /* stopPropagation() 
            */
    
        function fun1(){
            var one =document.getElementById("one");
            var two =document.getElementById("two");
            one.onclick=function(){
                alert("oneoneoneone");
            }
            two.onclick=function(event){
                alert("twotwotwotwo");
                event.stopPropagation();
            }
        }
            
    </script>
    </head>
    <body onload="fun1();">
        <div id="one" >
            <div id="two"></div>
        </div>
    </body>
    </html>
  • 相关阅读:
    2020-11-15(第十一周)助教周小结
    2020-11-08(第十周)助教周小结
    2020-11-01助教周小结(第九周)
    Template.
    OO第四单元总结
    OO第三单元总结
    OO第二单元总结
    OO第一单元总结
    AFO
    Codeforces Round #424 (Div. 2)
  • 原文地址:https://www.cnblogs.com/weizhen/p/5991708.html
Copyright © 2020-2023  润新知