美文网首页
JavaWeb(第六周)

JavaWeb(第六周)

作者: mwj610 | 来源:发表于2019-04-07 21:28 被阅读0次

    一、javascript的简介

    是基于对象和事件驱动的语言,应用与客户端。

    • 基于对象:提供了好多对象,可以直接拿过来用
    • 事件驱动:html做网站静态效果,JavaScript动态效果
    • 客户端:专门指的是浏览器

    JavaScript的特点:
    (1)交互性:信息的动态交互
    (2)安全性:JavaScript不能访问本地磁盘的文件
    (3)跨平台性:只有能够支持JavaScript的浏览器,都可以运行


    JavaScript的组成:
    (1)ECMAScript
    -ECMA:欧洲计算机协会
    (2)BOM
    -broswer object model:浏览器对象模型
    (3)DOM
    -document object model:文档对象模型

    二、JavaScript和html的结合方式(两种)

    1.使用一个标签<script type="text/javascript"> js代码 </script>

    <script type="text/javascript">
        alert("aaaa");
    </script>
    

    2.使用script标签,引入一个外部的js文件;创建一个js文件,写js代码

    <script type="text/javascript" src="day02-1.js">    </script> 
    

    三、JavaScript的原始类型和声明变量

    定义变量 都使用关键字 var
    JavaScript的原始类型(五个)
    -string:字符串

    var str = " abc";
    

    -number:数字类型

    var m = 123;
    

    -boolean

    var flag = true;
    

    -null

    var date = new Date();
    

    获取对象的引用,null表示对象引用为空,所有对象的引用也是Object
    -undifined
    定义一个变量,没有赋值

    var aa;
    

    typeof( );查看当前变量的数据类型

         var str = "abc";
         //alert(str);
         alert(typeof (str));  //String
    

    四、JavaScript的语句

    1.if语句

         var a = 5;
         if(a==5){
             alert("5");
         }
         else {
             alert("6");
         }        //5
    

    2.switch语句

        var b = 6;
        switch (b) {
            case 3:
                alert("3");
                break;
            case 6:
                alert("6");
                break;
            default:
                alert("other"); 
        }
    

    3.while循环

          var i = 5;
          while (i>1){
              alert(i);
              i--;
          }  // 5  4  3  2
    

    4.for循环

            for(var mm = 0;mm<=5;mm++){
                alert(mm);
            }  // 0 1 2 3 4 5 
    

    五、JavaScript的运算符

    1.在JavaScript里面不区分整数和小数
    2.如果相加的时候做的是字符串连接;
    如果相减的时候,执行减法运算。
    3.提示NaN:表示不是一个数字
    字符串的相减:

        var a = 123;
        alert(a-3);  //120
    

    boolean类型也可以操作:
    如果设置成true,相当于这个值是1;如果设置成false,相当于这个值是0.
    4. == 和 === 的区别:
    ==:比较的只是值。
    ===:比较的是类型。
    5.直接向页面输出的语句(可以把内容显示在页面上)
    document.write("aaa");
    document.write("<hr/ >");

    六、JavaScript的数组

    定义方式:
    1.var arr = [1,2,3];
    2.使用内置对象Array对象

    var arr1 = new Array(5);

    3.使用内置对象Array对象

    var arr2 = new Array(3,4,5);//定义一个数组,数组里面的元素是3,4,5。


    数组的属性:
    length:获取数组的长度
    数组可以存放不同数据类型的数据

    七、JavaScript的函数

    定义函数方法:
    1.使用关键字function

    function 方法名(参数列表){
    方法体;
    返回值(可以可无)
    }

    无返回值:

         function test1(a,b) {
             var c = a+b;
             alert(c);
         }
         test1(9,32)  //41
    

    有返回值:

         function test2(a,b,c) {
             var d = a+b+c;
             return d;
         }
         alert(test2(9,8,6)); //23
    

    2.匿名函数
    var test = function(参数列表){
    方法体和返回值;
    }

       var test3  = function (a,v) {
             alert(a+v);
         }
         test3(3,5);  //8
    

    3.动态函数

    var test4 = new Function("参数列表","方法体和返回值");

        var test4 = new Function("a,b","alert(a+b)");
        test4(6,4);//10
    

    八、JavaScript的全局变量和局部变量

    全局变量:在script标签里面定义一个变量,这个变量在页面中JavaScript部分都可以使用。
    在方法外部使用,在方法内部使用,在另外一个script标签使用。
    局部变量:在方法内部定义一个变量,只能在方法内部使用

    九、Script标签的位置

    建议把Script标签放在</body>后面

    十、JavaScript的重载

    =====================================================================================================================================================================================================================

    一、JavaScript的String对象

    1.创建String对象
    var str = "abc";
    2.方法和属性
    属性 length:字符串的长度

       var str = "abcdef";
        document.write(str.length);//6
    

    方法:
    -bold() :加粗
    -fontcolor():设置字符串颜色
    -fontsize():设置字体的大小
    -link():将字符串显示成超链接
    sub() sup():下标和上标


    -concat():连接字符串

        var s3 = "asd";
        var s4 = "231";
        document.write("<hr/>");
        document.write(s3.concat(s4));  //asd231
    

    -charAt():返回指定位置的字符串

        var s5 = "awoidjao1321";
        document.write(s5.charAt(4));  //d     字符位置不存在,返回空字符串
    

    -indexOf():返回字符串位置

        var s6 = "amiaowenjie";
        document.write(s6.indexOf("e")); //6   字符不存在,返回-1
    

    -split():把字符串切分成数组

        var s7 = "a0n0m0nn0h";
        var arr = s7.split("0");
        document.write(arr.length);//5
    

    -replace():替换字符串;传递两个参数:原始字符和要替换成的字符

        var s8 = "miaowen";
        document.write(s8.replace("o","23")); //mia23wen
    

    -substr()和-substring()

        var s9 = "function";
        document.write(s9.substr(2,4));//ncti  从第五位开始,向后截取五个字符
        document.write("<br/>")
        document.write(s9.substring(2,4));//nc   从第几位开始到第几位结束  [3,5)
    

    二、JavaScript的Array对象

    属性:length:查看数组的长度


    方法:
    -concat():数组的连接

        var arr1 = [1,2,3];
        var arr2 = [5,7,8];
        document.write(arr1.concat(arr2)); //1,2,3,5,7,8
    

    -join():根据指定的字符分割数组

        var arr3 = new Array(3);
        arr3[0] = "a";
        arr3[1] = "b";
        arr3[2] = "c";
        document.write(arr3.join("*")); //a*b*c
    

    -push():向数组末尾添加元素,返回数组新的长度
    如果添加的是一个数组,这个时候把一个数组当做一个整体字符串加进去

        var arr4 = new Array(3);
        arr4[0] = "maio";
        arr4[1] = "wen";
        arr4[2] = "jie";
        document.write(arr4);
        document.write("<hr/>");
        document.write(arr4.push("abcd123")); //4
    

    -pop(): 删除最后一个元素,返回删除的那个元素

        var arr = ["zhangsan","lisi","wanghwu","zhaoliu"];
        document.write(arr.pop()); //zhaoliu
        document.write("<hr/>");
        document.write(arr);//zhangsan,lisi,wanghwu
    

    -revese():颠倒数组中的元素顺序

        var arr = ["zhangsan","lisi","wanghwu","zhaoliu","liuqi"];
        document.write(arr);//zhangsan,lisi,wanghwu,zhaoliu,liuqi
        document.write("<hr/>");
        document.write(arr.reverse());//liuqi,zhaoliu,wanghwu,lisi,zhangsan
    

    三、JavaScript的Date对象

    获取当前时间:
    var date = new Date();

        var date = new Date();
        document.write(date);//Tue Apr 02 2019 17:09:40 GMT+0800 (中国标准时间)
        document.write("<hr/>");
        document.write(date.toLocaleString());//2019/4/2 下午5:12:16
    

    getFullYear():获取当前年的方法:

     var date = new Date();
     document.write(date.getFullYear());//2019
    

    getMonth():获取当前月的方法:

        var date1 = date.getMonth()+1;//只能获取0~11的月份,所以要+1
        document.write(date1);  //4
    

    getDay():获取当前的星期的方法:

        var date = new Date();
        document.write(date.getDay());  // 2   返回值是0~6,所以为0时是星期日
    

    getgetDate():获取当前的日:

        var date = new Date();
        document.write(date.getDate());  //2
    

    getHours():获取当前的小时:

        var date = new Date();
        document.write(date.getHours());   //17
    

    getMinutes():获取当前的分钟:

        var date = new Date();
        document.write(date.getMinutes());  //52
    

    getSeconds():获取当前的秒:

        var date = new Date();
        document.write(date.getSeconds());   /13
    

    getTime():获取毫秒数:
    应用场景:使用毫秒数处理缓存的结果(不有缓存)

        var date = new Date();
        document.write(date.getTime());  //1554199046428
    

    四、JavaScript的Math对象

    里面都是静态的方法,使用可以直接使用Math.方法();
    ceil(x):向上舍入
    floor(x):向下舍入
    round(x):四舍五入
    random():得到随机数 0~1之间的随机数

       document.write(Math.floor(Math.random()*10)); //将随机数乘以10然后向下舍入可得到0~9的随机数
    

    其他方法:

    image.png

    五、JavaScript的全局函数

    由于不属于任何一个对象,直接写名称使用
    eval( ):执行JavaScript代码(如果字符串是一个JavaScript代码,使用方法直接执行)

          var str = "alert('abc')";
          eval(str);   //abc
    

    encodeURI():对字符进行编码 //%E6%B5%8B%E8%AF%95%E4%B8%AD%E6%96%87123
    decodeURI():对字符进行解码 //测试中文123
    isNaN():判断当前字符串是否是数字
    如果是数字返回false;如果不是数字返回true

          var m = "124";
          alert(isNaN(m));  //false
    

    parseInt():类型转换

          var m1 = "123";
          document.write(parseInt(m1)+1);   //124
    

    六、JavaScript的函数的重载

    JavaScript不存在重载,但是可以通过其他方式模拟重载(面试题目)
    调用最后一个方法;
    把传递的参数保存到arguments数组里面;

    七、JavaScript的BOM对象

    BOM:浏览器对象模型(BrowserObjectModel)
    BOM中的对象:
    1.navigator:获取客户机的信息(浏览器的信息)
    -navigator.appName

         document.write(navigator.appName);  //Netscape
    

    2.screen:获取屏幕信息

    3.location:请求url地址
    -href:获取请求的url地址;设置url地址。

    4.history:请求url的历史记录
    history.back(); 到访问的上一个页面
    history.forward(); 到访问的下一个页面

    5.window

    窗口对象;
    顶层对象(所有的bom对象都是在window里面操作的)
    方法:
    -alert:页面弹出一个框,显示内容
    -confirm():确认框

    confirm("删除内容");
    

    -prompt():输入的对话框

         prompt("please input :","0");    //prompt("输入框显示的内容","输入框里面的默认值");
    

    -open():打开一个新的窗口
    open("打开新窗口的地址url"," ","窗口特征:比如宽度和高度");

       window.open("day02-1.html"," ",'width=200,height=200');
    

    -close():关闭窗口(浏览器兼容性差)


    做定时器:

    setInterval("JavaScript代码",毫秒数) 1秒=1000毫秒

        window.setInterval("alert('123')",3000);  //每3秒执行一次alert
    

    setTimeout("JavaScript代码",毫秒数) :在毫秒数之后执行,只会执行一次

       window.setTimeout("alert('miao')",3000);//4秒只会执行alert,只会执行一次
    

    clearInterval():清除setInsetInterval设置的定时器
    clearTimeout():清除setTimeout设置的定时器

    清除演示
    <body>
       <input type="button" value="interval" onclick="clear1();"/>
       <br/>
       <input type="button" value="timeout" onclick="clear2();"/>
      <script type="text/javascript">
          var id1 = setInterval("alert('WEN')",4000);
          var id2 = setTimeout("alert('miao')",3000);
    
          function clear1() {
              clearInterval(id1);
          }
          function clear2() {
              clearTimeout(id2);
          }
      </script>
    </body>
    

    八、JavaScript的dom对象

    文档对象模型(Document Object Model)
    文档:超文本文档(超文本标记文档)html、xml
    对象:提供了属性和方法
    模型:使用属性和方法来操作超文本标记型文档
    可以使用JavaScript里面的dom提供的对象,使用这些对象的属性和方法,对标记型文档进行操作;
    想要对标记型文档进行操作,首先需要对标记型文档里面的所有内容封装成对象


    DHTML:是很多技术的简称
    html:封装数据
    css:使用属性和属性值设置样式
    dom:操作html文档
    JavaScript:专门指的是JavaScript的语法语句

    九、document对象

    表示整个的文档
    常用方法:
    write()方法:
    (1)向页面输出变量(值)
    (2)向页面输出html代码

                  document.write("abc");
                  document.write("<hr/>");
    

    getElementById():通过id得到元素(标签)

    <body>
       <input type="text" value="mmm" name="nameid" id="a"/>
              <script type="text/javascript">
            var v = document.getElementById("a");  //传递的参数是标签里面的ID的值
            alert(v.value);  //mmm     标签对象.属性名称
      </script>
    </body>
    

    getElementsByName():通过标签的name属性值得到标签,返回的是一个集合(数组)

    <body>
       <input type="text" value="mmm" name="name1"/><br/>
       <input type="text" value="qqqq" name="name1"/><br/>
       <input type="text" value="kkk" name="name1"/><br/>
       <input type="text" value="zzzz" name="name1"/><br/>
              <script type="text/javascript">
                  var v = document.getElementsByName("name1");  //传递的值是标签里面name的值
                  for(var i = 0;i<v.length;i++){  //通过遍历数组,得到每个标签里面具体的值
                      var v1 = v[i];   //每次循环得到v对象,赋值到v1里面
                      alert(v1.value);  //得到每个input标签里面的value值
                  }
      </script>
    </body>
    

    getElementsByTagName():通过标签名称得到元素

    <body>
       <input type="text" value="mmm" name="name1"/><br/>
       <input type="text" value="OOOO" name="name1"/><br/>
       <input type="text" value="kkk" name="name1"/><br/>
       <input type="text" value="zzzz" name="name1"/><br/>
       <script type="text/javascript">
           var v = document.getElementsByTagName("input");  //传递的参数是标签名称
           for(var i = 0;i<v.length;i++){
               var v1 = v[i];
               alert(v1.value);
           }
       </script>
    </body>
    

    如果只有一个标签,不需要遍历,可以直接通过数组的下标获取到值

    <body>
    <input type="text" value="mmm" name="name1"/><br/>
    <script type="text/javascript">
        var v = document.getElementsByTagName("input")[0];  //通过数组下标获取值
        alert(v.value);
    </script>
    </body>
    

    十、案例:window弹窗案例

    widnow页面

    <body>
        编号:<input type="text" id="numid"/><br/>
        姓名:<input type="text" id="nameid"/><br/>
        <input type="button" value="选择" onclick="open1()"/>
    
    <script type="text/javascript">
         function open1() {
             window.open("user.html","","width=250,height=150");
         }
    </script>
    </body>
    

    弹窗页面

    <body>
    <table border="1" bordercolor="blue" >
        <tr>
              <td>操作</td>
              <td>编号</td>
              <td>姓名</td>
        </tr>
        <tr>
            <td><input type="button" value="选择" onclick="s1('100','猴子');"/></td>
            <td>100</td>
            <td>猴子</td>
        </tr>
        <tr>
            <td><input type="button" value="选择" onclick="s1('101','老鼠');"/></td>
            <td>101</td>
            <td>老鼠</td>
        </tr>
        <tr>
            <td><input type="button" value="选择" onclick="s1('102','蛇');"/></td>
            <td>102</td>
            <td>蛇</td>
        </tr>
    </table>
    <script type="text/javascript">
        //需要把num1和name1赋值到window窗口
        //跨页面操作  opener :得到创建这个窗口的窗口  得到window页面
         function s1(num1,name1) {
             var pwin = window.opener;  //得到window页面
             pwin.document.getElementById("numid").value = num1;
             pwin.document.getElementById("nameid").value = name1;
             window.close(); //关闭窗口
         }
    </script>
    </body>
    

    opener:属性;获取创建当前窗口的窗口

    =====================================================================================================================================================================================================================

    案例一:在末尾添加节点

    第一步:获取ul标签
    第二步:创建li标签

    document.createElement("标签名称")
    

    第三步:创建文本

    document.createTextNode("文本内容")
    

    第四步:把文本添加到li下面,使用appendChild( )方法
    第五步:把li添加到ul末尾,使用appendChild( )方法

    <body>
        <ul id="ulid">
            <li>111</li>
            <li>222</li>
            <li>333</li>
            <li>444</li>
        </ul>
        <input type="button" value="add" onclick="add1();">
        
       <script type="text/javascript">
             function add1() {
                 var ul1 = document.getElementById("ulid");  //获取到ul标签
                 var li1 = document.createElement("li");   //创建标签
                 var tex1 = document.createTextNode("5555");  //创建文本
                 li1.appendChild(tex1);//把文本添加到li下面
                 ul1.appendChild(li1);//把li添加到ul末尾
             }
       </script>
    </body>
    

    案例二:动态显示时间

        <script type="text/javascript">
            function getD1() {
                var date = new Date();//得到当前时间
                var d1 = date.toLocaleString();//得到当前时间
                var div1 = document.getElementById("times");//获取div
                div1.innerHTML = d1;//获取div
            }
            setInterval("getD1()", 1000);//使用定时器实现每秒写一次时间
        </script>
    

    案例三:全选练习

    使用复选框上面一个属性判断是否选中:
    checked=true 选中; checked=false 没选中

            <body>
           <input type="checkbox" id="boxid" onclick="selAllNo();"/>全选/全不选
           <br/>
           <input type="checkbox" name="love" />篮球<br/>
           <input type="checkbox" name="love"/>排球<br/>
           <input type="checkbox" name="love"/>羽毛球<br/>
           <input type="checkbox" name="love"/>乒乓球<br/>
           <input type="button" value="全选" onclick="selAll();"/>
           <input type="button" value="全不选" onclick="selNo();"/>
           <input type="button" value="反选" onclick="selOther();"/>
        <script type="text/javascript">
            function selAllNo() {
                var box1 = document.getElementById("boxid");
                if(box1.checked == true){
                    selAll();
                }
                else {
                    selNo();
                }
            }
            function selOther() {
                var loves = document.getElementsByName("love");//获取要操作的复选框
                for (var i = 0;i<loves.length;i++) {//遍历数组
                    var love1 = loves[i];//得到每一个复选框
                    if(love1.checked == true){  //判断当前复选框是什么状态
                        love1.checked = false;
                    }
                    else {
                        love1.checked = true;
                    }
                }
            }
            function selAll() {
                var loves = document.getElementsByName("love");//获取要操作的复选框
                for(var i =0;i<loves.length;i++){//遍历数组
                    var love1 = loves[i];//得到每一个复选框
                    love1.checked = true;
                }
            }
            function selNo() {
                var loves = document.getElementsByName("love");
                for(var i = 0;i<loves.length;i++){
                    var love1 = loves[i];
                    love1.checked = false;
                }
            }
        </script>
            </body>
    

    案例四:动态生成表格

    /*
    1.得到输入的行和列的值。
    2.生成表格:循环行;在行里面循环单元格。
    3.显示到页面上:把表格的代码设置到div里面,使用innerHTML属性。
    */
    <body>
         行:<input type="text" id="h"/>
         列:<input type="text" id="l"/><br/>
         <input type="button" value="生成" onclick="add2();"/>
         <div id="divv">
    
         </div>
      <script type="text/javascript">
              function add2(){
                  var h = document.getElementById("h").value;
                  var l = document.getElementById("l").value;
                  var tab = "<table border='1' bordercolor='blue'>";
                  for(var i =1;i<=h;i++){
                      tab += "<tr>";
                      for(var j =1;j<=l;j++){
                          tab += "<td>aaaaaa</td>"
                      }
                      tab += "</tr>";
                  }
                  tab += "</table>";
                  var divv = document.getElementById("divv");
                  divv.innerHTML = tab;
              }
      </script>
    </body>
    

    二、元素对象(element对象)

    1.要操作element对象,首先必须要获取到element,使用document里面相应方法获取

    1. 方法:getAttribute():获取属性里面的值
                      alert(input1.getAttribute("value"));
    

    setAttribute():设置属性的值

                      input1.setAttribute("class","haha");  //("属性","值")
    

    removeAttribute():删除属性的值

                      input1.removeAttribute("name");  //不能删除value
    

    getElementsByTagName():获取标签下面的字标签

    var lis = ul11.getElementsByTagName("li");
    

    三、Node对象属性

    (1)

    nodeName
    nodeType
    nodeValue
    使用dom解析html时候,需要html里面的标签,属性和文本都封装成对象
    标签节点对应的值:
    nodeType:1
    nodeName:大写标签名称 比如SPAN
    nodeValue:null
    属性节点对应的值:
    nodeType:2
    nodeName:属性名称
    nodeValue:属性的值
    文本节点对应的值:
    nodeType:3
    nodeName:#text
    nodeValue:文本内容

            <body>
            <span id="spanid">哈哈呵呵</span>
        <script type="text/javascript">
            var span1 = document.getElementById("spanid");
            alert(span1.nodeType);  //1
            alert(span1.nodeName);  //SPAN
            alert(span1.nodeValue); //null
            var id1 = span1.getAttributeNode("id");
            alert(id1.nodeType);  //2
            alert(id1.nodeName);  //id
            alert(id1.nodeValue); //spanid
            var text1 = span1.firstChild;
            alert(text1.nodeType);  //3
            alert(text1.nodeName);  //#text
            alert(text1.nodeValue); //内容
        </script>
            </body>
    

    (2)

            <ul>
                <li>qqq</li>
                <li>www</li>
            </ul>
    
    

    父节点:
    ul是li的父节点
    parentNode:

            <body>
            <ul id="ulid">
                <li id="li1">qqq</li>
                <li id="li2">www</li>
                <li id="li3">yyy</li>
                <li id="li4">test111</li>
            </ul>
        <script type="text/javascript">
            var li1 = document.getElementById("li1");
            var ul1 = li1.parentNode;
            alert(ul1.id);
        </script>
            </body>
    

    子节点:
    li是ul的父节点
    childNodes:得到所有子节点,但是兼容性很差
    firstChild:获取第一个子节点

            var ul1 = document.getElementById("ulid");
            var li1 = ul1.firstChild;
            alert(li1.id);
    

    lastChild:获取最后一个子节点

            var ul1 = document.getElementById("ulid");
            var li4 = ul1.lastChild;
            alert(li4.id);
    

    同辈节点:
    li之间关系是同辈节点
    nextSibling:返回一个给定节点的下一个兄弟节点。
    previousSibling:返回一个给定节点的上一个兄弟节点。

            var li3 = document.getElementById("li3");
            alert(li3.nextSibling.id);
            alert(li3.previousSibling.id);
    

    四、操作dom树

    appendChild();添加子节点到末尾,

    类似于剪切,粘贴的效果

    <head>
        <meta charset="UTF-8">
        <title>Title1</title>
        <style type="text/css">
            #div1{
                width: 200px;
                height: 150px;
                border: 2px solid red;
            }
            #div2 {
                width: 250px;
                height: 150px;
                border: 5px dashed green;
            }
    
        </style>
    </head>
            <body>
            <div id="div1">
               <ul id="ulid11">
                   <li>tom</li>
                   <li>mary</li>
                   <li>jack</li>
               </ul>
            </div>
            <div id="div2"></div>
              <input type="button" value="add1" onclick="add11();"/>
        <script type="text/javascript">
             function add11() {
                 var div2 = document.getElementById("div2");//得到div2
                 var ul11 = document.getElementById("ulid11");//获取ul
                 div2.appendChild(ul11);//把ul添加到div2里面
             }
        </script>
    
            </body>
    

    insertBefore(newNode,oldNode):

    在某个节点之前插入一个新的节点

            <body>
            <ul id="ulid21">
                <li id="li11">老鼠</li>
                <li id="li12">猫</li>
                <li id="li13">兔子</li>
                <li id="li14">大象</li>
            </ul>
            <input type="button" value="insert" onclick="insert1();"/>
    
        <script type="text/javascript">
            function insert1() {
                var li13 = document.getElementById("li13");//获取li13标签
                var li15 = document.createElement("li");//创建li
                var text15 = document.createTextNode("熊猫");//创建文本
                li15.appendChild(text15);//把文本添加到li下面
                var ul21 = document.getElementById("ulid21");//获取到ul
                ul21.insertBefore(li15,li13);//在<li>兔子</li>之前添加<li>熊猫</li>
            }
        </script>
            </body>
    

    newNode:要插入的节点
    oldNode:在谁之前插入

    插入一个节点,节点不存在,需要创建

    1.创建标签
    2.创建文本
    3.把文本添加到标签下面


    removeChild(): 删除节点

    通过父节点删除,不能自己删自己

            <body>
            <ul id="ulid31">
                <li id="li21">老鼠</li>
                <li id="li22">猫</li>
                <li id="li23">兔子</li>
                <li id="li24">大象</li>
            </ul>
            <input type="button" value="remove" onclick="remove1();"/>
        <script type="text/javascript">
              function remove1() {
                  var li24 = document.getElementById("li24"); //获取li标签
                  var ulid31 = document.getElementById("ulid31");//获取父节点
                  ulid31.removeChild(li24);//删除
              }
        </script>
            </body>
    

    replaceChild(newNode,oldNode):替换节点

    newNode:替换成的节点
    oldNode:被替换的节点
    不能自己替换自己,通过父节点替换

            <body>
            <ul id="ulid31">
                <li id="li21">老鼠</li>
                <li id="li22">猫</li>
                <li id="li23">兔子</li>
                <li id="li24">大象</li>
            </ul>
            <input type="button" value="replace" onclick="replace1();"/>
        <script type="text/javascript">
             function replace1() {
                 var li24 = document.getElementById("li24");//获取li
                 var li25 = document.createElement("li");//创建li标签
                 var text1 = document.createTextNode("小狗");//创建文本
                 li25.appendChild(text1);//将文本添加到li
                 var ulid31 = document.getElementById("ulid31");//获取父节点
                 ulid31.replaceChild(li25,li24);//通过父节点替换
             }
        </script>
            </body>
    

    cloneNode(boolean):复制节点

            <body>
            <ul id="ulid31">
                <li id="li21">老鼠</li>
                <li id="li22">猫</li>
                <li id="li23">兔子</li>
                <li id="li24">大象</li>
            </ul>
            <div id="divv">
    
            </div>
            <input type="button" value="copy" onclick="copy();"/>
    
            <script type="text/javascript">
                function copy() {
            var ulid31 = document.getElementById("ulid31");//获取ul
            var ulcopy = ulid31.cloneNode(true);//复制ul,放到剪切板里面
            var divv = document.getElementById("divv");//获取div
            divv.appendChild(ulcopy);//把副本放到div里面去
            }
        </script>
            </body>
    

    五、innerHTML属性

    1.获取文本内容

            var span1 = document.getElementById("sid");
            alert(span1.innerHTML);
    

    2.向标签里面设置内容(可以是html代码)

            var div11 = document.getElementById("div11");
            div11.innerHTML = "<h1>AAAAA</h1>";
    

    向div里面添加一个表格:

     div11.innerHTML = "<h1>AAAAA</h1>";
            var tab = "<table border='1'><tr><td>aaaa</td></tr><tr><td>bbbb</td></tr>
            <tr><td>cccc</td></tr></table>";
    

    =====================================================================================================================================================================================================================

    相关文章

      网友评论

          本文标题:JavaWeb(第六周)

          本文链接:https://www.haomeiwen.com/subject/wxkmbqtx.html