美文网首页
Java EE学习日记_JavaScript下

Java EE学习日记_JavaScript下

作者: 虫儿飞ZLEI | 来源:发表于2018-08-10 11:23 被阅读0次

    layout: post
    title: Java EE学习日记_JavaScript
    subtitle: JavaScript
    date: 2018-01-20
    author: ZL
    header-img: img/20180120.jpg
    catalog: true
    tags:
    - JavaScript
    - JavaEE


    关于thead和tbody

    • 这个是放在table里面的,把表格的标题行和内容行分开
    <table border="1" width="500" height="50" align="center" id="tbl">
        <thead>
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>年龄</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>1</td>
                <td>张三</td>
                <td>22</td>
            </tr>
            <tr>
                <td>2</td>
                <td>李四</td>
                <td>25</td>
            </tr>
            <tr>
                <td>3</td>
                <td>王五</td>
                <td>27</td>
            </tr>
            <tr>
                <td>4</td>
                <td>赵六</td>
                <td>29</td>
            </tr>
            <tr>
                <td>5</td>
                <td>田七</td>
                <td>30</td>
            </tr>
            <tr>
                <td align="center">6</td>
                <td>汾酒</td>
                <td>20</td>
            </tr>
        </tbody>
    </table>
    

    其中thead里面用tr和th

    tbody里面用tr和td

    tr和td的差别不大,一般tr用在标题的单元格里面,字体一般会加粗,td用在表格内容的单元格里面

    • 用JavaScript获取table里面的内容

      拿到表格

      var tbid = window.document.getElementById("tbl");

      拿到第i个tbody

      tbid.tBodies[0]

      拿到第i个tbody的第j行

      tbid.tBodies[0].rows[i]

      拿到第i个tbody的行数

      tbid.tBodies[i].rows.length;

      拿到table里面tbody的数量

      tbid.tBodies.length

      设置tbody行的参数

      tbid.tBodies[0].rows[i].style.xxxxx = "xxxx";
      比如:
      tbid.tBodies[0].rows[i].style.backgroundColor = "pink";

    事件

    之前学了onClick、onSubmit、onblur等
    现在介绍2个onmouseoveronMouseout
    指的是鼠标滑动上去和鼠标离开

    js事件
    onfocus/onblur:聚焦离焦事件,用于表单校验的时候比较合适。
    onclick/ondblclick:鼠标单击和双击事件
    onkeydown/onkeypress:搜索引擎使用较多
    onload:页面加载事件,所有的其它操作(匿名方式)都可以放到这个绑定的函数里面去。如果是有名称,那么在html页面中只能写一个。
    onmouseover/onmouseout/onmousemove:购物网站商品详情页。
    onsubmit:表单提交事件 ,有返回值,控制表单是否提交。
    onchange:当用户改变内容的时候使用这个事件(二级联动)
    

    getElementsByName("xxxx");

    如果设置了name = "xxxx"属性,
    通过这name得到该元素
    返回值是一个数组,所有name叫xxxx的都会得到

    checkBox有一个属性是checked,可以用来判断是否选中,也可以直接设置它。

    JavaScript的DOM操作

    image
    Document:整个html文件都成为一个document文档
    Element:所有的标签都是Element元素
    Attribute:标签里面的属性
    Text:标签中间夹着的内容为text文本
    Node:document、element、attribute、text统称为节点node.
    

    Document对象

    每个载入浏览器的 HTML 文档都会成为 Document 对象。


    document对象的方法

    后面两个方法获取之后需要遍历!

    以下两个方法很重要,但是在手册中查不到!
    创建文本节点:document.createTextNode()
    创建元素节点:document.createElement()

    Element对象

    我们所认知的html页面中所有的标签都是element元素

    element.appendChild()向元素添加新的子节点,作为最后一个子节点。
    element.firstChild返回元素的首个子节点。
    element.getAttribute()返回元素节点的指定属性值。
    element.innerHTML设置或返回元素的内容。
    element.insertBefore()在指定的已有的子节点之前插入新节点。
    element.lastChild返回元素的最后一个子元素。
    element.setAttribute()把指定属性设置或更改为指定值。
    element.removeChild()从元素中移除子节点。
    element.replaceChild()替换元素中的子节点。

    Attribute对象

    我们所认知的html页面中所有标签里面的属性都是attribute


    attribute方法

    例子:
    在页面中使用列表显示一些城市

    <ul>
        <li>北京</li>
        <li>上海</li>
        <li>广州</li>
    </ul>
    

    我们希望点击一个按钮实现动态添加城市。

    分析:
    事件(onclick)
    获取ul元素节点
    创建一个城市的文本节点
    创建一个li元素节点
    将文本节点添加到li元素节点中去。
    使用element里面的方法appendChild()来添加子节点
    代码:

    <html>
    <head>
        <title>Title</title>
        <meta charset="utf-8">
        <script>
            function addCity() {
                var cityEle = window.document.getElementById("city");
                var node = window.document.createTextNode("shanghai");
                var element = window.document.createElement("li");
                element.appendChild(node);
                cityEle.appendChild(element);
            }
        </script>
    </head>
    <body>
        <ul id="city">
            <li>北京</li>
            <li>北京</li>
            <li>北京</li>
        </ul>
        <input type="button" onclick="addCity()" value="添加">
    </body>
    </html>
    

    创建数组的方式

    new Array();
    new Array(size);
    new Array(element0,element1,element2......)

    省市联动的例子

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <title>省市联动2</title>
        <meta charset="utf-8">
        <script>
            //1.创建一个二维数组用于存储省份和城市
            var cities = new Array(3);
            cities[0] = new Array("武汉市","黄冈市","襄阳市","荆州市");
            cities[1] = new Array("长沙市","郴州市","株洲市","岳阳市");
            cities[2] = new Array("石家庄市","邯郸市","廊坊市","保定市");
            cities[3] = new Array("郑州市","洛阳市","开封市","安阳市");
    
            function chooseCity(value) {
                var cityEle = window.document.getElementById("city");
                cityEle.options.length=0;
                switch (value-1){
                    case 0:
                        for (var i=0;i<cities[0].length;i++){
                            var optionElement = window.document.createElement("option");
                            var textNode = window.document.createTextNode(cities[0][i]);
                            optionElement.appendChild(textNode);
                            cityEle.appendChild(optionElement);
                        }
                        break;
                    case 1:
                        for (var i=0;i<cities[1].length;i++){
                            var optionElement = window.document.createElement("option");
                            var textNode = window.document.createTextNode(cities[1][i]);
                            optionElement.appendChild(textNode);
                            cityEle.appendChild(optionElement);
                        }
                        break;
                    case 2:
                        for (var i=0;i<cities[2].length;i++){
                            var optionElement = window.document.createElement("option");
                            var textNode = window.document.createTextNode(cities[2][i]);
                            optionElement.appendChild(textNode);
                            cityEle.appendChild(optionElement);
                        }
                        break;
                    case 3:
                        for (var i=0;i<cities[3].length;i++){
                            var optionElement = window.document.createElement("option");
                            var textNode = window.document.createTextNode(cities[3][i]);
                            optionElement.appendChild(textNode);
                            cityEle.appendChild(optionElement);
                        }
                        break;
                }
            }
        </script>
    </head>
    <body>
        <select onclick="chooseCity(this.value)">
            <option value=0>just choose</option>
            <option value=1>1</option>
            <option value=2>2</option>
            <option value=3>3</option>
            <option value=4>4</option>
        </select>
    
        <select id="city">
    
        </select>
    </body>
    </html>
    

    JavaScript内置对象

    js内置对象

    Array对象

    数组的创建

    数组的特点:
    长度可变!数组的长度=最大角标+1
    Java的数组长度不可变

    Boolean对象

    Boolean对象创建

    如果value 不写,那么默认创建的结果为false

    Date对象

    getTime()
    返回 1970 年 1 月 1 日至今的毫秒数。
    解决浏览器缓存问题

    Math和Number对象

    与java里面的基本一致。

    String对象

    match()找到一个或多个正则表达式的匹配。
    substr()从起始索引号提取字符串中指定数目的字符。
    substring()提取字符串中两个指定的索引号之间的字符。

    例子

    <script>
        var str = "-a-b-c-d-e-f-";
      
      //从第二位开始取四个
        var str1 = str.substr(2,4);//-b-c
        //alert(str1);
        
      //取第二到第四位的
        var str2 = str.substring(2,4);//-b
        alert(str2);
    </script>
    

    RegExp对象

    正则表达式对象
    test检索字符串中指定的值。返回 true 或 false。

    全局对象

    全局属性和函数可用于所有内建的 JavaScript 对象

    js全局函数

    例子:

    <script>
        var str = "张三";
        //alert(encodeURI(str));//%E5%BC%A0%E4%B8%89
        //alert(encodeURIComponent(str));//%E5%BC%A0%E4%B8%89
        
        //alert(decodeURI(encodeURI(str)));//张三
        //alert(decodeURIComponent(encodeURIComponent(str)));//张三
        
        var str1 = "http://www.itheima.cn";
        //alert(encodeURI(str1));//http://www.itheima.cn
        //alert(encodeURIComponent(str1));//http%3A%2F%2Fwww.itheima.cn
        
        //alert(decodeURI(encodeURI(str1)));//http://www.itheima.cn
        //alert(decodeURIComponent(encodeURIComponent(str1)));//http://www.itheima.cn
        
        var str2 = "alert('abc')";
        //alert(str2);
        eval(str2);
        
    </script>
    

    相关文章

      网友评论

          本文标题:Java EE学习日记_JavaScript下

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