zoukankan      html  css  js  c++  java
  • Js和JQuery基础

    1.JavaScript的组成

    CMAScript (核心):规定了JS的语法和基本对象

    DOM 文档对象模型:处理网页内容的方法和接口

    BOM 浏览器对象模型:与浏览器交互的方法和接口

    2.JavaScript变量

    变量:标示内存中的一块空间,用于存储数据,且数据是可变的。使用var接收

    变量的声明:var 变量名; //变量赋予默认值,默认值为undefined(未定义的)

    变量的声明和赋值:var 变量名=值;   //变量赋予对应的值

    在声明JavaScript变量时,需要遵循以下命名规范

      必须以字母或下划线开头,中间可以是数字、字符或下划线

      变量名不能包含空格等符号

      不能使用JavaScript关键字作为变量名,如:function、this、class

      JavaScript严格区分大小写。

    3.JavaScript数据类型

    3.1基本数据类型

      string 字符串类型。””和’’都是字符串,没有任何区别。 JavaScript中没有单个字符

      boolean 布尔类型。  固定值为true和false

      number 数字类型。  任意数字

      null 空,一个占位符。

      undefined 未定义类型,该类型只有一个固定值,即undefined,表示变量声明却未定义具体的值。

     注:因为undefined是从null中派生出来的,所以undefined==null

    3.2引用数据类型

    引用类型通常叫做类(class),但在JavaScript中,因为不存在编译过程,所以没有类的概念,所处理的引用数据类型都是对象

    标准创建方式:

      var str = new String();//和java相同

      var str = new String;  //js独有的方式

    4.运算符

    == 逻辑等。仅仅对比值

    ===全等。  对比值并且对比类型。如果值和类型都相同,则为true;值和类型有一个不同,则为false。除了===比较的是内容和类型外,其他比较运算符都比较的是内容。

    JavaScript逻辑运算符没有 &  |

    5.正则对象

    5.1 RegExp对象的创建方式

    var  reg = new RegExp("表达式"); (开发中基本不用)

    var reg = /^表达式$/; 直接量(开发中常用)

    直接量中存在边界,即^代表开始,$代表结束,直接量方式的正则是对象,不是字符串,别用引号。

    5.2test方法

    正则对象.test(string); 用来校验字符串是否匹配正则。全部字符匹配返回true;有字符不匹配返回false。

    //练习:验证手机号
    var regex=/^1[3,5,7,8][0-9]{9}$/;
    var phone="15623637872";
    alert(regex.test(phone));

    6.JS数组对象

    6.1JS数组的特性

    JS数组可以看做 Java中的ArrayList 集合。数组中的每一个成员没有类型限制,及可以存放任意类型,数组的长度可以自动修改 。

    6.2JS数组的四种创建方式

    var arr = [1,2,3,”a”,true]; //常用的JS数组。 长度5

    var arr = new Array();创建一个数组对象,数组长度默认为0

    var arr = new Array(4);数组长度是4,相当于开辟了长度为4的空间,每个元素是undefined。(仅在显示数组时进行处理,undefined为了方便显示变成了空字符串形式,其值本质仍然是undefined)

    var arr = new Array(“a”,”b”,true);  //创建了一个数组,长度3, 数组元素是”a”,”b”,true

    7.全局函数(global

    执行:

    编码:

    解码:

    字符串转整数:

    字符串转浮点数:

    如果字符串的某个字符从字面值上无法转为数字,那么从该字符开始停止转换,仅返回前面正确的转换值。(例如:11.5a55,parseInt结果11,parseFloat结果11.5)

    如果字符串的第一个字符就无法从字面值上转为数字,那么停止转换,返回NaN。NaN(Not A Number,一个数字类型的标识,表示不是一个正确的数字)

    8.自定义函数/自定义方法

    1)JavaScript函数定义必须用小写的function;

    2)JavaScript函数无需定义返回值类型,直接在function后面书写 方法名;

    3)参数的定义无需使用var关键字,否则报错;

    4)JavaScript函数体中,return可以不写,也可以return 具体值,或者仅仅写return;

    JavaScript函数调用执行完毕一定有返回值,值及类型根据return决定,如果未return具体值,返回值为undefined;

    JavaScript函数若同名,则不存在方法重载,只有方法相互覆盖,最后定义的函数覆盖之前的定义;

    因为JavaScript不存在函数重载,所以JavaScript仅根据方法名来调用函数,即使实参与函数的形参不匹配,也不会影响正常调用;如果形参未赋值,就使用默认值undefined

    对象直接量:var 对象名 = {属性名1:”属性值1”, 属性名2:”属性值2”, 属性名3:”属性值3”……};。

    9.BOM对象

    BOM(Browser Object Model)浏览器对象模型

    9.1消息框

    1)alert():警告框,用来弹出警告消息。示例:alert("弹出吧");

    2)confirm():确认框,用于告知用户信息并收集用户的选择。

    示例1:confirm("确认或取消")。该方法有返回值,用户通过选择“确定”或者“取消”,方法结束会返回boolean类型的值。“确定”返回ture;“取消”返回false。

    3)控制台console:在浏览器的控制台打印console.log(“内容”);

    9.2定时器

    1)循环定时器:调用一次就会创建并循环执行这个定时器,直到关闭它为止。

    启动循环定时器:setInterval("要调用的方法",毫秒数)

    关闭循环定时器:clearInterval(定时器id)

    示例:设置一个定时器,倒计时10秒,当时间为0时关闭定时器

    <body>
        倒计时<span>10</span><script language="javascript">
      var t=10;
      function change(){
        t--;
        $("span").text(t)
        if(t<=0){
            clearInterval(id)
        }
      }
      var id=setInterval('change()',1000);
    </script>
    </body>

    2)一次性定时器

    一次性定时器,调用一次就会创建并执行一个定时器一次。

     启动一次性定时器:setTimeout(“调用方法” , 毫秒值);

    关闭一次性定时器:clearTimeout(定时器id)

    9.3location对象

    location 对象包含浏览器地址栏的信息,常用的属性是href。

    示例:设置倒计时10秒后自动跳转到百度首页

    <script language="javascript">
      var t=10;
      function change(){
        t--;
        $("span").text(t)
        if(t<=0){
            clearInterval(id)
            window.location.href="http://www.baidu.com"
        }
      }
      var id=setInterval('change()',1000);
    </script>

    10.DOM对象

    DOM(Document Object Model) 文档对象模型,将标记型文档中所有内容(标签、文本、属性)都封装成对象。

    10.1获取元素对象的四种方式

    1)document.getElementById(‘id’);   通过元素ID获取对应元素对象,如果找不到,返回null。

    2)document.getElementsByName();     通过元素的name属性获取符合要求的所有元素。

    3)document.getElementsByTagName();   通过元素的元素名(标签名)属性获取符合要求的所有元素,返回一个数组

    4)document.getElementsByClassName();  通过元素的class属性获取符合要求的所有元素,可以获取到元素节点对象数组;如果找不到,返回 空数组。

    10.2元素对象常见属性

    1)value

    获取元素对象的value属性值:元素对象.value

    设置元素对象的value属性值:元素对象.value=属性值

    2)className

     获取元素对象的class属性值:元素对象.className

     设置元素对象的class属性值:元素对象. className =属性值

    3)checked

     获取元素对象的checked属性值:元素对象.checked

     设置元素对象的checked属性值:元素对象.checked =属性值

    4)innerHTML

    获取元素对象的内容体(所有内容):元素对象.innerHTML

    设置元素对象的内容体:元素对象.innerHTML=值

    5)innerText

     获取元素对象的文本内容:元素对象.inneText

    设置元素对象的文本内容:元素对象.innerText=值

    示例:模拟炸弹爆炸情景

    <body>
        <!--模拟炸弹爆炸的情景-->
        <div id="div">炸弹还有<font id="font" color="red">10</font>秒爆炸!</div>
        <img id="img" width="400px"  height="500px" src="https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=4279991917,2910577700&fm=26&gp=0.jpg">
    <script>
        var count=10;
        function changeText(){
            var font=document.getElementById("font");
            font.innerText=--count;//改变文本的秒数
            if(count==0){
                var div=document.getElementById("div");
                div.innerHTML="炸弹爆炸啦!";//改变内容
                var image=document.getElementById("img");
                image.src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3056604070,2381022538&fm=26&gp=0.jpg";//改变图片
                clearInterval(id);//清除定时器
            }
        }
        var id=setInterval("changeText()",1000);//开启定时器
    </script>
    </body>
    View Code

    11.JS事件

    通常鼠标或热键的动作我们称之为事件(Event) 

    11.1常见的js事件

    1)点击事件(onclick)

    <body>
        <input type="button" value="点我出发点击事件" onclick="run()">
    <script>
        function run(){
            alert("事件触发")
        }
    </script>

    2)获取焦点事件(onfocus)

    <body>
        <input type="text" onfocus="run()">
    <script>
         //当鼠标焦点进入输入框时触发
        function run(){
            alert("事件触发");
        }
    </script>
    </body>

    3)失去焦点事件(onblur)

    <body>
        <input type="text" onblur="run()">
    <script>
        //当输入焦点离开输入框时触发
        function run(){
            alert("事件触发")
        }
    </script>
    </body>

    4)域内容改变事件(onchange)

    <body>
        <input type="text" onchange="run()">
    <script>
        //当输入框内容发送改变时触发
        function run(){
            alert("事件触发")
        }
    </script>
    </body>

    5)加载完毕事件(onload)

    加载完毕事件:页面元素组件加载完毕时触发。

    <body onload="run()">
    <script>
        function run(){
            alert("事件触发")
        }
    </script>
    </body>

    6)表单提交事件(onsubmit)

    表单提交事件:表单的提交按钮被点击时触发,该事件需要返回boolean类型的值来执行提交或阻止表单数据的操作。

     事件得到true,提交表单数据;事件得到false,阻止表单数据提交。

    <body >
        <form onsubmit="return run()">
            <input type="text" onchange="run()" name="name">
            <input type="submit" value="提交">
        </form>
    <script>
        function run(){
            alert("事件触发");
            return true;
        }
    </script>
    </body>

    7)键位事件

    onkeyup:键位弹起

    onkeydown:键位按下

    onkeypress:键位按住

    键位弹起事件:在组件中输入某些内容时,键盘键位弹起时触发该事件

    8)鼠标移入事件(onmouseover)

    鼠标移入事件:鼠标移入某个元素组件时触发

    <body >
        <input type="text" onmouseover="run()" name="name">
    <script>
        function run(){
            alert("事件触发");
        }
    </script>
    </body>

    9)鼠标移出事件(onmouseout)

    <body >
        <input type="text" onmouseout="run()" name="name">
    <script>
        function run(){
            alert("事件触发");
        }
    </script>
    </body>

    11.2JS事件的两种绑定方式

    1)为事件绑定一个无参函数

    <input type="text" onclick="run()">

    2)为事件绑定一个有参函数

    一个参数,非this

    <input type="text" onclick="run(1)">

    一个参数,是this。这个this指的是当前input对象。  

    <input type="text" onclick="run(this)">

    多个函数

    <input type="text" onclick="run(this),run2(),run3()">
    

    3)通过DOM绑定

    不能传递参数,一个事件只能绑定一个函数。

    <body >
        <input type="text" id="name1">
    <script>
        function run(){
            alert("事件触发")
        }
        window.onload=function(){
            document.getElementById("name1").onclick=run;
        }
    </script>
    </body>

    12.JS练习题

    12.1点击改变灯泡的颜色

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>灯光控制</title>
        </head>
        <body>
            <img id="image" src="on.gif" onclick="opened()">
            <script>
                var count=0;
                function opened(){
                    count++;
                    if(count%2==1){
                        document.getElementById("image").src="off.gif";
                    }else{
                        document.getElementById("image").src="on.gif";
                    }
                }
            </script>
        </body>
    </html>

    12.2轮播图

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>轮播图</title>
        
        <script>
            var i = 0;
            var id;
            var index = 0;
            var img=["banner_1.jpg","banner_2.jpg","banner_3.jpg"];
            function opened(){//打开定时器
                id=setInterval("changeImg()", 3000);
            }
            function closed(){//关闭定时器
                clearInterval(id);
            }
            function changeImg(){
                index++;
                document.getElementById("banner").src = "img/"+img[index%3];
            }
        </script>
        
    </head>
    <!--轮播图,定时切换图片,当鼠标进入图片时暂停,移出时播放-->
    <body onload="opened()">
        <img id="banner"  src="img/banner_1.jpg" width="100%" onmouseover="closed()" onmouseout="opened()">
    </body>
    </html>

    12.3页面自动跳转

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>页面自动跳转</title>
        </head>
        <body>
            <div id="div" align="center">页面 <font id="font" color="deeppink">5</font> 秒后跳转到百度首页</div>
            <script>
                var second=5;
                function jump(){
                    document.getElementById("font").innerText=--second;
                    if(second<=0){
                        window.location.href="http://www.baidu.com";
                        clearInterval(id);
                    }
                }
                var id=setInterval("jump()",1000);
            </script>
        </body>
    </html>

    12.4表单验证的js代码

    <script>
        window.onload = function(){
            document.getElementById("form").onsubmit = function(){
                //验证用户名
                //验证密码
                //...
                //都成功则返回true
                //
                return checkUsername() && checkPassword();
            }
    
            document.getElementById("username").onblur = checkUsername;
            document.getElementById("password").onblur = checkPassword;
        }
    
        function checkUsername(){
            var username = document.getElementById("username").value;
            var reg_username = /^\w{6,12}$/;
            var flag = reg_username.test(username);
            var s_username = document.getElementById("s_username");
            if(flag){
                s_username.innerHTML = "<img height='25' width='35' src='img/gou.png'>"
            }else{
                s_username.innerHTML = "用户名格式有误";
            }
            return flag;
        }
    
        function checkPassword(){
            var password = document.getElementById("password").value;
            var reg_password = /^\w{6,12}$/;
            var flag = reg_password.test(password);
            var s_password = document.getElementById("s_password");
            if(flag){
                s_password.innerHTML = "<img height='25' width='35' src='img/gou.png'>"
            }else{
                s_password.innerHTML = "密码格式有误";
            }
            return flag;
        }
    
    </script>

    13.jQuery

    就是一个封装了很多方法的javascript库

    13.1jQuery入口函数

    入口函数也叫页面加载完毕函数,在页面加载完成时自动执行,有两种方式,推荐使用第二种方式。一般在入口函数中写页面加载完成后要执行的jQuery代码。

    第一种:

    $(document).ready(function(){
        console.log(123);
    });

    第二种:

    $(function(){
        console.log(111);
    });

    13.2$函数

    $其实就是jQuery,当出现$ is not defined的错误时说明没有引入jQuery文件。

    jQuery是一个自执行函数,执行jQuery文件也就是给window对象添加一个jQuery属性和$属性。

    $参数介绍

    参数传递不同,效果也不一样

    1)如果参数是一个匿名函数,那么它就是一入口函数

    如:$(function(){ });

    2)如果参数是一个字符串,那么它是选择器或者创建标签

    如:$(“input”),这是一个选择器

    如:$(“<div>哈哈哈</div>”),这是在创建一个标签

    3)如果参数是一个dom对象,那么就是将dom对象转换为jQuery对象

    如:$(dom对象)

    13.3jQuery对象和Dom对象

    Dom对象:只能调用dom方法和属性,不能调用jQuery的属性和方法

    jQuery对象:只能调用jQuery方法和属性,不能调用dom的属性和方法

    dom转jQuery:直接在dom对象的前面加一个$,然后把dom对象用括号括起来即可。如$(dom对象)

    jQuery转dom:

    a. 使用下标取出来

    var divs=$("div");//获取所有的div标签,结果集是一个数组

    var div1=divs[0];//通过下标取数组中的元素,里面的每一个元素就是dom对象

    b. 使用jQuery中的get(index)方法

    var divs=$("div");//获取所有的div标签

    var div1=divs.get(0);//通过get方法指定要获取的索引,实际上也是利用了数组的特性

    开关灯案例

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script type="text/javascript">
                $(function(){
                    var buttons=document.getElementsByTagName("button");
                    //点击开灯按钮,背景变白。dom对象和jQuery对象交叉使用
                    $(buttons[0]).click(function(){//点击事件使用jQuery
                        //改变颜色使用原生js
                        $("body")[0].style.backgroundColor="white";
                    });
                    //点击关灯按钮,背景变黑
                    buttons[1].onclick=function(){//点击实际使用原生js
                        //改变颜色使用jQuery
                        $("body").css("background-color","black");
                    }
                });
            </script>
        </head>
        <body>
            <!--开关灯案例-->
            <!--点击开灯按钮,背景变白;点击关灯按钮,背景变黑-->
            <button>开灯</button>
            <button>关灯</button>
            <img src="../html02/banner_3.jpg" />
        </body>
    </html>

    14.jquery选择器

    1)id选择器:$(“#id”),找到对应id的对象

    2)类名选择器:$(“.className”),找到类名为className的对象

    3)标签选择器:$(标签名),找到所有一样的标签

    4)兄弟选择器:$(“div,a”),不仅可以找到div标签,还可以找到a标签

    5)层级选择器

    后代选择器:$(parent child),先找到parent标签,再找parent里面的child标签,然后再去找child里面的child标签。(找完所有)

    子代选择器:$(parent>child),先找到parent标签,再找parent里面的child标签,到这里就不找了。(到此停止)

    6)过滤选择器

    这类选择器前面都带有冒号:

    1):even获取索引为偶数的元素
    2):odd获取索引为奇数的元素
    3):eq(index) 获取指定索引的元素
    4):checked匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)
    5):selected匹配所有选中的option元素
    6):enabled匹配所有可用元素
    7):disabled匹配所有不可用元素  

    7)筛选选择器

    parent() 查找父亲
    next()查找下一个兄弟
    prev()查找上一个兄弟
    children()获取儿子元素
    siblings()找到每个div的所有同辈元素  

    隔行换色案例

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style>
            </style>
            <script src="../js/jquery-1.11.0.min.js"></script>
        </head>
        <body>
            <table>
                <tr>
                    <td>1111</td>
                    <td>1111</td>
                    <td>1111</td>
                    <td>1111</td>
                </tr>
                <tr>
                    <td>333</td>
                    <td>113311</td>
                    <td>11311</td>
                    <td>13111</td>
                </tr>
                <tr>
                    <td>333</td>
                    <td>113311</td>
                    <td>11311</td>
                    <td>13111</td>
                </tr>
                <tr>
                    <td>333</td>
                    <td>113311</td>
                    <td>11311</td>
                    <td>13111</td>
                </tr>
                <tr>
                    <td>333</td>
                    <td>113311</td>
                    <td>11311</td>
                    <td>13111</td>
                </tr>
            </table>
            <script>
                //各行换色
                $("tr:even").css("background-color","red");
                $("tr:odd").css("background-color","blue");
            </script>
        </body>
    </html>

    15.jQuery属性

    1)获取和设置文本 text()

    获取文本:text()不给参数即可,格式:$(“选择器”).text()。获取所有的文本,包括后代的文本。

    设置文本:text()给参数即可,格式:$(“选择器”).text(“设置的文本”)。会覆盖原有内容

    设置和获取文本案例:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script type="text/javascript">
                $(function(){
                    $("#get").click(function(){
                        //获取内容
                        console.log($("div").text());
                    });
                    $("#set").click(function(){
                        //设置内容
                        $("div").text("我是新设置的文本,我会覆盖此范围原有的所有内容");
                    });
                });
            </script>
        </head>
        <body>
            <button id="get">获取文本</button>
            <button id="set">设置文本</button>
            <div>
                我是一个div
                <font>我是font标签</font>
            </div>
        </body>
    </html>

    2)获取和设置样式  css()

    获取样式:$("xxx").css(“样式名”),根据样式名来获取对应的样式内容

    设置样式:

        设置单个样式:$("xxx").css(“样式名” , ”样式”)

        同时设置多个样式:$("xxx").css( { “样式名1” : ”样式1” ,“样式名2” : ”样式2” } )

    获取设置样式案例:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script type="text/javascript">
                $(function(){
                    $("#get").click(function(){
                        //获取样式
                        console.log($("#one").css("border"));
                    });
                    $("#set").click(function(){
                        //设置单个样式
                        $("#two").css("background-color","greenyellow");
                    });
                    $("#set2").click(function(){
                        //设置多个样式
                        $("#three").css({"color":"white","background-color":"black","font-size":"30px"});
                    });
                });
            </script>
            <style>
                #one{
                    background: aquamarine;
                    border: 1px solid red;
                }
            </style>
        </head>
        <body>
            <button id="get">获取div1样式</button>
            <button id="set">设置单个样式</button>
            <button id="set2">设置多个样式</button>
            <div id="one">我是div1</div>
            <div id="two">我是div2</div>
            <div id="three">我是div3</div>
        </body>
    </html>

    3)获取和设置表单中的值 val()

    获取表单中的值:val()不给参数即可,格式:$(“选择器”).val()

    设置表单中的值:val()给参数即可,格式:$(“选择器”).val(“设置的值”)。

    获取和设置表单中的值的案例:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script type="text/javascript">
                $(function(){
                    $("#get").click(function(){
                        console.log($("input").val());
                    })
                    $("#set").click(function(){
                        $("input").val("我是设置的文本内容鸭");
                    });
                });
            </script>
        </head>
        <body>
            <button id="get">获取表单内容</button>
            <button id="set">设置表单内容</button>
            <input type="text"  value="我是一个文本框,嘻嘻"/>
        </body>
        </body>
    </html>

    4)html()获取和设置容器中的html代码

    获取html代码:html()不给参数即可,格式:$(“选择器”).html()。获取所有的html代码和文本

    设置html代码:html()给参数即可,格式:$(“选择器”).html(“设置的html代码”)。会覆盖原有内容

    获取和设置容器中的html代码的案例:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script type="text/javascript">
                $(function(){
                    $("#get").click(function(){
                        console.log($("div").html());
                    })
                    $("#set").click(function(){
                        $("div").html("<b>我是设置的内容,我已经覆盖了原有内容哈</b>");
                    });
                });
            </script>
        </head>
        <body>
            <button id="get">获取html内容</button>
            <button id="set">设置html内容</button>
            <div>
                哈哈哈哈哈
                <p>我是一个段落</p>
                <p><a>我是一个链接</a></p>
            </div>
        </body>
        </body>
    </html>

    5)attr()获取和设置以及removeAttr()删除容器的属性

    获取容器的属性:attr(“属性名”)给出属性名即可,格式:$(“选择器”).attr()。如果没有这个属性,那么获取的属性是undefined。

    设置容器的属性:attr()给属性名和属性值即可,格式:$(“选择器”).attr(“属性名 ” , “设置的属性值”)或$(“选择器”).attr({“属性名 ” :“设置的属性值” , “属性名 ” :“设置的属性值”})。如果存在这个属性名,就修改这个属性值;如果不存在这个属性名,就添加这个属性。

    移除属性:

      removeAttr(“属性名”) 移除单个属性

      removeAttr(“属性名1  属性名2”)移除多个属性,属性之间用空格分隔

    如果移除的属性不存在也不会报错。

    获取和设置以及删除容器的属性的案例:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script type="text/javascript">
                $(function(){
                    $("#get").click(function(){
                        console.log($("input").attr("name"));
                    })
                    $("#set").click(function(){
                        $("input").attr("test","测试属性");
                    });
                    $("#set2").click(function(){
                        $("input").attr({"test":"测试属性","test2":"设定多个属性"});
                    });
                    $("#remove").click(function(){
                        $("input").removeAttr("test");
                    });
                    $("#remove2").click(function(){
                        $("input").removeAttr("test test2 attr");
                    });
                });
            </script>
        </head>
        <body>
            <button id="get">获取属性</button>
            <button id="set">设置单个属性</button>
            <button id="set2">设置多个属性</button>
            <button id="remove">删除单个属性</button>
            <button id="remove2">删除多个属性</button><br>
            <input type="text" value="我是一个文本框,嘻嘻" attr="" name="hhh" id="mytext"/>
        </body>
        </body>
    </html>

    6)prop()操作布尔类型的属性

    在jQuery1.6之后,对于checked,selected,disabled这类布尔类型的属性来说,不能使用attr方法,要使用prop方法。使用如下:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script src="../js/jquery-1.11.0.min.js"></script>
            <script type="text/javascript">
                $(function(){
                    $("button").click(function (){
                        alert($("input").prop("checked"));
                    });
                });
            </script>
        </head>
        <body>
            <button>查看多选框是否选中</button>
            <input type="checkbox"/>
        </body>
    </html>

    全选/全不选案例

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script type="text/javascript">
                $(function(){
                    $("#check").click(function(){//满足需求1
                        //全选与全不选只要保证这个按钮状态与其他按钮状态一致即可
                        var checkStauts=$("#check").prop("checked");
                        $("#tb input").prop("checked",checkStauts);
                        //通过全选按钮的选中与为选中来设置其他按钮的状态
    //                    if($("#check").prop("checked")){
    //                        $("input").prop("checked",true);
    //                    }else{
    //                        $("input").prop("checked",false);
    //                    }
                    });
                    $("#tb input").click(function(){//满足需求2
                        //获取下面所有多选框的个数
                        var numbers=$("#tb input").length;
                        //获取下面被选中的多选框的个数
                        var numberSelected=$("#tb input:checked").length;
                        //判断两个个数是否相等,相等就改变上面的那个多选框状态
    //                    if(numbers==numberSelected){
    //                        $("#check").prop("checked",true);
    //                    }else{
    //                        $("#check").prop("checked",false);
    //                    }
                        //代码优化
                        $("#check").prop("checked",numbers==numberSelected);
                    });
                });
            </script>
        </head>
        <body>
            <!--全选/全不选-->
            <!--需求1:如果上面的多选框选择了,那么下面的所有多选框都选择,否则都不选。
                需求2:另外,如果下面的多选择都选择了,就让上面的多选框选中,否则不选。-->
            <table align="center" cellpadding="0" cellspacing="0" border="1px">
                <tr>
                    <th><input type="checkbox" id="check"></th>
                    <th>分类ID</th>
                    <th>分类名称</th>
                    <th>分类描述</th>
                    <th>操作</th>
                </tr>
                <tbody id="tb">
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>0</td>
                        <td>手机数码</td>
                        <td>手机数码类商品</td>
                        <td><a href="">修改</a>|<a href="">删除</a></td>
                    </tr>
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>1</td>
                        <td>电脑办公</td>
                        <td>电脑办公类商品</td>
                        <td><a href="">修改</a>|<a href="">删除</a></td>
                    </tr>
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>2</td>
                        <td>鞋靴箱包</td>
                        <td>鞋靴箱包类商品</td>
                        <td><a href="">修改</a>|<a href="">删除</a></td>
                    </tr>
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>3</td>
                        <td>家居饰品</td>
                        <td>家居饰品类商品</td>
                        <td><a href="">修改</a>|<a href="">删除</a></td>
                    </tr>
                </tbody>
            </table>
        </body>
    </html>

    数组遍历和this案例

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
        </head>
        <body>
            <input onblur="hhh(this)"/>
            <input onblur="hhh(this)"/>
            <script>
                //jQuery中this用法
                //this是js对象,使用时需要转成jQuery对象,谁使用就指向谁
                $(function(){
                    $("input").blur(function(){
                        console.log($(this).val());
                    });
                });
                
                //js中this用法
                //需要给一个参数,谁使用就指向谁
                function hhh(input){
                    console.log(input.value);
                };
                var arr=[1,2,3,4];
                //js中数组的遍历
                arr.forEach(function(obj){
                    console.log(obj);
                });
                
                //jQuery中数组的遍历
                $(arr).each(function(i,obj){
                    console.log(obj);
                });
                
            </script>
        </body>
    </html>

    7)jQuery尺寸和位置操作

    height()和width()方法获取和设置高度宽度,不包括内边距边框和外边距
    innerWdith()和innerHeight()返回元素的宽度和高度,包括内边距
    outerHeight()和返回值:IntegerouterWidt()返回元素外部宽度,包括内边距和边框
    outerHeight(true)和返回值:IntegerouterWidt(true)返回元素外部宽度,包括内、外边距和边框
    offset()获取匹配元素在当前视口的相对偏移。返回的对象包含两个整型属性:top 和 left,以像素计。此方法只对可见元素有效
    position()获取匹配元素相对父元素的偏移。返回的对象包含两个整型属性:top 和 left
    scrollTop() 获取匹配元素相对滚动条顶部的偏移(元素内容被卷曲出去的高度)。此方法对可见和隐藏元素均有效
    scrollLeft() 获取匹配元素相对滚动条左侧的偏移(元素内容被卷曲出去的宽度)。此方法对可见和隐藏元素均有效
    

    16.jQuery事件监听

    页面加载完成事件:$(function (){});

    单击事件:click(function(){})

    双击事件:dblclick(function(){})

    鼠标移入事件:mouseover(function(){}) 、mouseenter(function(){})

    鼠标移出事件:mouseout(function(){})、mouseleave(function(){})

    获得焦点事件:focus(function(){})

    失去焦点事件:blur(function(){})

    触发事件:trigger(“事件类型”),当某一事件发生时触发。如$(“xxx”).trigger(“click”)当条件满足时触发单击事件。
    注册任意监听:on(“监听类型”,function(){ }),包括简单注册和委托注册,简单注册不能动态注册,而委托注册可以动态注册。
    off()解绑注册事件。不给参数就解绑所有的注册事件,给参数就解绑指定的注册事件。
    一次性监听:one(“监听类型”,function(){ })
    mouseover/mouseout在鼠标移动或离开到选取的元素或者子元素上时触发
    mouseenter/mouseleave只在鼠标移动或离开到选取的元素上时触发

    下拉菜单案例:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script src="../js/jquery-1.11.0.min.js"></script>
            <script type="text/javascript">
                $(function(){
                    //设置li横向显示
                    $("#one>li").css("float","left");
                    //鼠标点击一次显示,再点击一次不显示
                    var i=0;
                    $("#one>li").click(function(){
                        i++;
                        if(i%2==1){
                            $(this).children("ul").show();
                        }else{
                            $(this).children("ul").hide();
                        }
                    });
                    //获取鼠标移入事件
                    $("#one>li>ul>li").mouseover(function(){
                        $(this).children().css("background","red");
                    });
                    //获取鼠标移出事件
                    $("#one>li>ul>li").mouseout(function(){
                        $(this).children().css("background","white");
                    });
                    
                });
            </script>
            <style>
                *{
                    padding:0; 
                    margin:0;
                }
                div{
                    margin-left: 200px;
                    margin-top: 100px;
                }
                ul{
                    list-style:none;    
                }
                #one li{
                    background:white;
                }
                a{
                    text-decoration: none;
                    background: aquamarine;
                    margin: 10px;
                }
                #one li ul{
                    display: none;
                    
                }
                #one li ul li a{
                    background:white;
                }
                /*#one li ul li{
                    background:bisque;
                }*/
                
            </style>
        </head>
        <body>
            <!--下拉菜单案例-->
            <!--当鼠标点击一级菜单时显示二级菜单,鼠标再次点击时隐藏二级菜单。鼠标移动到二级菜单时改变鼠标位置的颜色-->
            <div>
                <ul id="one">
                    <li>
                        <a href="#">常用链接</a>
                        <ul>
                            <li><a href="http://www.baidu.com" target="_blank">百度</a></li>
                            <li><a href="#">二级菜单2</a></li>
                            <li><a href="#">二级菜单3</a></li>
                            <li><a href="#">二级菜单4</a></li>
                        </ul>
                    </li>
                    <li>
                        <a href="#">一级菜单2</a>
                        <ul>
                            <li><a href="#">二级菜单5</a></li>
                            <li><a href="#">二级菜单6</a></li>
                            <li><a href="#">二级菜单7</a></li>
                            <li><a href="#">二级菜单8</a></li>
                        </ul>
                    </li>
                    <li>
                        <a href="#">一级菜单3</a>
                        <ul>
                            <li><a href="#">二级菜单9</a></li>
                            <li><a href="#">二级菜单10</a></li>
                            <li><a href="#">二级菜单11</a></li>
                            <li><a href="#">二级菜单12</a></li>
                        </ul>
                    </li>
                </ul>
            </div>
        </body>
    </html>
    View Code

    图片突出显示案例:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script src="../js/jquery-1.11.0.min.js"></script>
            <script type="text/javascript">
                $(function(){
                    $("img").mouseenter(function(){
                        $(this).css("opacity","1").siblings("img").css("opacity","0.4");
                    });
                    $("div").mouseleave(function(){
                        $("img").css("opacity","1");
                    })
                    $("div").mouseenter(function(){
                        $("img").css("opacity","0.4");
                    })
                });
            </script>
            <style>
                body{
                    background: blue;
                }
                div{
                     610px;
                    margin-top:100px;
                    margin-left: 300px;
                    background: white;
                }
                img{
                     200px;
                    height: 200px;
                    opacity: 0.4;
                }
            </style>
        </head>
        <body>
            <!--图片突出显示案例-->
            <!--当鼠标移入到某一图片时,透明度为1,其他图片的透明度为0.4-->
            <!--当鼠标离开大盒子时,所有图片透明度为1-->
            <div>
                <img src="../img/1.jpg" >
                <img src="../img/2.jpg" >
                <img src="../img/3.jpg" >
                <img src="../img/4.jpg" >
                <img src="../img/5.jpg" >
                <img src="../img/6.jpg" >
            </div>
        </body>
    </html>
    View Code

    QQ好友列表案例:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script src="../js/jquery-1.11.0.min.js"></script>
            <script type="text/javascript">
                $(function(){
                    $("span").click(function(){
                        $(this).siblings().show().parent().siblings('li').children('div').hide();
                        //this代表的是span,通过siblings可以知道他的兄弟div,然后让其显示
                        //parent是找到span的父亲li,siblings('li')是找到li的其他兄弟节点
                        //children('div')可以找到其他li的兄弟节点的孩子,然后让其隐藏
                    });
                });
            </script>
            <style>
                ul{
                    list-style: none;
                }
                li{
                    border: 1px solid darkgrey;
                     260px;
                    background-color: royalblue;
                }
                div{
                    height: 200px;
                }
                li div{
                    display: none;
                    background-color: white;
                }
            </style>
        </head>
        <body>
            <!--QQ好友列表案例-->
            <!--当鼠标某一个分组时,显示这个分组的好友列表,其他的分组好友列表-->
            <div>
                <ul>
                    <li>
                        <span>分组一</span>
                        <div>我是分组一的好友列表</div>
                    </li>
                    <li>
                        <span>分组二</span>
                        <div>我是分组二的好友列表</div>
                    </li>
                    <li>
                        <span>分组三</span>
                        <div>我是分组三的好友列表</div>
                    </li>
                    <li>
                        <span>分组四</span>
                        <div>我是分组四的好友列表</div>
                    </li>
                </ul>
            </div>
        </body>
    </html>
    View Code

    事件对象

    注册一个事件,系统会生成一个对象记录这个事件触发时的一些信息,用事件参数e来获取。

    按键改变颜色案例:

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script src="../js/jquery-1.11.0.min.js"></script>
            <script type="text/javascript">
                $(function(){
                    var id=$("#change");
                    var span=$("#keyCode");
                    $(document).on("keydown",function(e){
                        switch(e.keyCode){
                            case 82:id.css("background","red");span.text(82);break;
                            case 71:id.css("background","green");span.text(71);break;
                            case 66:id.css("background","blue");span.text(66);break;
                            case 80:id.css("background","purple");span.text(80);break;
                            case 89:id.css("background","yellow");span.text(89);break;
                            default:id.css("background","pink");span.text("查无此键");break;
                        }
                        
                    });
                });
            </script>
            <style>
                #div{
                    margin-top: 100px;
                    text-align: center;
                }
                #change{
                    background: burlywood;
                     300px;
                    height: 200px;
                    margin-left: 518px;
                    font-size: 26px;
                }
            </style>
        </head>
        <body>
            <div id="div">
                <h2>按钮改变颜色</h2>
                <div id="change"><br><br>
                    keyCode是:<span id="keyCode"></span>    
                </div>
            </div>
        </body>
    </html>
    View Code

    17. jQuery内容操作

    append(“内容”):朝容器最后面添加内容

    appendTo(“要添加到的容器”):  谁添加到哪去

    after(“内容”):添加内容到兄弟节点的后面

    before(“内容”):添加内容到兄弟节点的前面

    remove():删除自己

    empty():清空子节点 自己还在

    parent ():获取父元素

    clone():后代节点的克隆,只存在于内存中,要使用就要追加。里面的参数为true会克隆事件,false则不克隆事件,如果不写参数默认是false.

    数据增删案例1(onclick):

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script>
                var td="<td><a href='#' onclick='del(this)'>删除</a>";
                $(function(){
                    $("#button").click(function(){
                        var id=document.getElementById("id").value;
                        var name=document.getElementById("name").value;
                        var score=document.getElementById("score").value;
                        $("table").append("<tr><td>"+id+"</td><td>"+name+"</td><td>"+score+
                        "</td>"+td);
                    });
                    
                });
                function del(d){
                        $(d).parent().parent().remove();
                    }
            </script>
            <style>
                body{
                    text-align: center;
                }
                table{
                    text-align: center;
                }
                th{
                    150px;
                }
            </style>
        </head>
        <body><br>
            
            <form >
                输入学生信息:
                <input type="text" name="id" id="id" placeholder="编号">
                <input type="text" name="name" id="name" placeholder="姓名">
                <input type="text" name="score" id="score" placeholder="分数">
                <input type="button" value="添加" id="button">
            </form><br><hr>
            <h3>学生信息</h3>
            <table align="center" cellpadding="0" cellspacing="0" border="1px solid #EAEAEA">
                <tr>
                    <th>编号</th>
                    <th>姓名</th>
                    <th>分数</th>
                    <th>操作</th>
                </tr>
            </table>
        </body>
    </html>
    View Code

    数据增删案例2(on的委托方式注册):

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>jQuery增删小案例修改版</title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script>
                var td="<td><a href='#' class='del'>删除</a>";
                $(function(){
                    $("#button").click(function(){
                        var id=document.getElementById("id").value;
                        var name=document.getElementById("name").value;
                        var score=document.getElementById("score").value;
                        $("#tb").append("<tr><td>"+id+"</td><td>"+name+"</td><td>"+score+
                        "</td>"+td);
                        $(".input").val("");//清空输入框
                    });
                    //使用on委托注册删除
                    $("tbody").on("click",'.del',function(){
                        $(this).parent().parent().remove();
                    })
                    
                });
                
            </script>
            <style>
                body{
                    text-align: center;
                }
                table{
                    text-align: center;
                }
                th{
                    150px;
                }
            </style>
        </head>
        <body><br>
            
            <form >
                输入学生信息:
                <input type="text" name="id" id="id" class="input" placeholder="编号">
                <input type="text" name="name" id="name" class="input" placeholder="姓名">
                <input type="text" name="score" id="score" class="input" placeholder="分数">
                <input type="button" value="添加" id="button">
            </form><br><hr>
            <h3>学生信息</h3>
            <table align="center" cellpadding="0" cellspacing="0" border="1px solid #EAEAEA">
                <tr>
                    <th>编号</th>
                    <th>姓名</th>
                    <th>分数</th>
                    <th>操作</th>
                </tr>
                <tbody id="tb"></tbody>
            </table>
        </body>
    </html>
    View Code

    18. jQuery动画

    显示和隐藏、上拉隐藏和下拉显示、淡入和淡出案例:

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <script type="text/javascript" src="../js/jquery-1.11.0.min.js"></script>
        <script>
            var i = 0;
            $(function() {
                $("button").click(function() {
                    i++;
                    if(i % 2 == 1) {
                        $("img").hide();//隐藏
                        $("img").slideUp();//上拉隐藏
                        $("img").fadeOut(); //淡出
                    } else {
                        $("img").show();//显示
                        $("img").slideDown();//下拉显示
                        $("img").fadeIn(); //淡入
                      //slideToggle()//切换:如果是隐藏状态那么会划入,如果是显示状态那么会划出
                    }
                });
                //自定义动画            
    $("button").click(function() {
                    $("img").animate({top:"100px",left:"200px","1000px"})
                });
            });
        </script>
        <style>
            img{
                position: absolute;
            }
        </style>
        <body>
            <!--动画-->
            <button>按钮</button>
            <img src="../html02/banner_3.jpg"  width="300px"/>
        </body>
    
    </html>
    View Code

    动画队列的停止与开始案例:

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <script type="text/javascript" src="../js/jquery-1.11.0.min.js"></script>
        <script>
            var i = 0;
            $(function() {
                $("#start").click(function() {
                    $("img").slideDown(2000).slideUp(2000);
                });
                $("#stop").click(function() {
                    //stop(a,b)中两个参数的含义
                    //a:是否清除队列
                    //b:是否跳转到最终效果
                    $("img").stop(true,false);//点击停止就会停留在当前动画状态
                 //如果stop()不写参数,默认参数都是false
                });
            });
        </script>
        <style>
            img{
                position: absolute;
                display: none;
            }
        </style>
        <body>
            <!--动画队列的停止与开始案例-->
            <button id="start">开始动画</button>
            <button id="stop">停止动画</button><br>
            <img src="../html02/banner_3.jpg"  width="1000px"/>
        </body>
    
    </html>
    View Code

    19.JQuery练习

    全选与全不选

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script type="text/javascript">
                $(function(){
                    $("#check").click(function(){//满足需求1
                        //全选与全不选只要保证这个按钮状态与其他按钮状态一致即可
                        var checkStauts=$("#check").prop("checked");
                        $("#tb input").prop("checked",checkStauts);
                        //通过全选按钮的选中与为选中来设置其他按钮的状态
    //                    if($("#check").prop("checked")){
    //                        $("input").prop("checked",true);
    //                    }else{
    //                        $("input").prop("checked",false);
    //                    }
                    });
                    $("#tb input").click(function(){//满足需求2
                        //获取下面所有多选框的个数
                        var numbers=$("#tb input:checkbox").length;
                        //获取下面被选中的多选框的个数
                        var numberSelected=$("#tb input:checked").length;
                        //判断两个个数是否相等,相等就改变上面的那个多选框状态
    //                    if(numbers==numberSelected){
    //                        $("#check").prop("checked",true);
    //                    }else{
    //                        $("#check").prop("checked",false);
    //                    }
                        //代码优化
                        $("#check").prop("checked",numbers==numberSelected);
                    });
                });
            </script>
        </head>
        <body>
            <!--全选/全不选-->
            <!--需求1:如果上面的多选框选择了,那么下面的所有多选框都选择,否则都不选。
                需求2:另外,如果下面的多选择都选择了,就让上面的多选框选中,否则不选。-->
            <table align="center" cellpadding="0" cellspacing="0" border="1px">
                <tr>
                    <th><input type="checkbox" id="check"></th>
                    <th>分类ID</th>
                    <th>分类名称</th>
                    <th>分类描述</th>
                    <th>操作</th>
                </tr>
                <tbody id="tb">
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>0</td>
                        <td>手机数码</td>
                        <td>手机数码类商品</td>
                        <td><a href="">修改</a>|<a href="">删除</a></td>
                    </tr>
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>1</td>
                        <td>电脑办公</td>
                        <td>电脑办公类商品</td>
                        <td><a href="">修改</a>|<a href="">删除</a></td>
                    </tr>
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>2</td>
                        <td>鞋靴箱包</td>
                        <td>鞋靴箱包类商品</td>
                        <td><a href="">修改</a>|<a href="">删除</a></td>
                    </tr>
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>3</td>
                        <td>家居饰品</td>
                        <td>家居饰品类商品</td>
                        <td><a href="">修改</a>|<a href="">删除</a></td>
                    </tr>
                </tbody>
            </table>
        </body>
    </html>
    View Code

    添加表情包

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script>
                $(function(){
                    $("img").click(function(){
                        //clone()克隆,原因是添加表情时原数据会减少
                        $("#font").append($(this).clone());
                        console.log($(this).attr("src"));
                    });
                });
            </script>
            <style>
                div{
                    margin-left: 50px;
                }
                #image{
                    margin-top: 50px;
                    margin-bottom: 30px;
                }
            </style>
        </head>
        <body>
            <div id="image">
                <img src="01.gif">
                <img src="02.gif">
                <img src="03.gif">
                <img src="04.gif">
                <img src="05.gif">
                <img src="06.gif">
                <img src="07.gif">
                <img src="08.gif">
                <img src="09.gif">
                <img src="10.gif">
                <img src="11.gif">
                <img src="12.gif">
            </div>
            <div id="font">
                <font>请选择表情包:</font>
            </div>
        </body>
    </html>
    View Code

    左移右移

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js"></script>
            <script type="text/javascript">
                $(function() {
                    //多选移动
                    $("#rightBtu").click(function() {
                        $("#right").append($("#left>option:selected"))
                    });
                    $("#leftBtu").click(function() {
                        $("#left").append($("#right>option:selected"))
                    });
                    //双击移动
                    $("option").dblclick(function() {
                        if($(this).parent().attr("id") == "left") {
                            $("#right").append($(this))
                        }else{
                            $("#left").append($(this))
                        }
                        });
                    
                });
            </script>
            <style>
                body {
                    text-align: center;
                    margin-top: 100px;
                    margin-left: 100px;
                }
                
                select {
                     150px;
                    height: 300px;
                }
                
                div {
                     200px;
                    height: 500px;
                    float: left;
                }
                button{
                    margin-top: 100px;
                }
            </style>
        </head>
    
        <body>
            <div>
                <!--展开下拉列表-->
                <select multiple="multiple" id="left">
                    <option>钟玉石</option>
                    <option>方启豪</option>
                    <option>汤鹏程</option>
                </select>
            </div>
            <div id="button">
                <button id="rightBtu">--></button><br>
                <button id="leftBtu"><--</button>
            </div>
            <div>
                <select multiple="multiple" id="right">
                    <option>张林</option>
                    <option>冷宗阳</option>
                    <option>哈哈哈</option>
                </select>
            </div>
        </body>
    
    </html>
    View Code

    省市联动

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script>
                var cities = [
                    ["长春市","吉林市","延边市","白山市","松原市"],
                    ["济南市","青岛市","临沂市","烟台市"],
                    ["石家庄","唐山","保定","承德","秦皇岛"],
                    ["南京","苏州","扬州","无锡"],
                    ["十堰","襄阳","武汉","随州"]
                ];
                var province = ["请选择省","吉林","山东","河北","浙江","湖北"];
                $(function(){
                    //添加省份
                    $(province).each(function(i,val){
                        $("#one").append("<option>"+val+"</option>")
                    });
                    //当省份改变时添加城市
                    $("#one").change(function(){
                        //清空城市的元素
                        $("#two").html("<option>请选择市</option>");
                        //selectedIndex获取选中的option的索引
                        var index=this.selectedIndex;
                        if(index>0){//去除省份中索引为0的选择
                            cities[index-1].forEach(function(city){
                                $("#two").append("<option>"+city+"</option>")
                            });
                        }
                    });
                });    
            </script>
        </head>
        <body>
            <select id="one"></select>
            <select id="two">
                <option>请选择市</option>
            </select>
        </body>
    </html>
    View Code

    多选框删除

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>点击多选框删除</title>
            <script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
            <script type="text/javascript">
                $(function(){
                    $("#check").click(function(){//满足需求1
                        //全选与全不选只要保证这个按钮状态与其他按钮状态一致即可
                        var checkStauts=$("#check").prop("checked");
                        $("#tb input").prop("checked",checkStauts);
                    });
                    $("#tb input").click(function(){//满足需求2
                        //获取下面所有多选框的个数
                        var numbers=$("#tb input:checkbox").length;
                        //获取下面被选中的多选框的个数
                        var numberSelected=$("#tb input:checked").length;
                        $("#check").prop("checked",numbers==numberSelected);
                    });
                    $(".del").click(function(){
                        $(this).parent().parent().remove();
                    });
                    $("button").click(function(){
                        //多选删除
                        $("#tb input:checked").parent().parent().remove();
                    });
                    
                });
            </script>
        </head>
        <body>
            <!--点击多选框删除-->
            <!--需求1:如果上面的多选框选择了,那么下面的所有多选框都选择,否则都不选。
                需求2:另外,如果下面的多选择都选择了,就让上面的多选框选中,否则不选。
                需求3:只有选择了多选框,点击多选删除才能删除;直接点击删除可以删除对应的单个信息-->
            <table align="center" cellpadding="0" cellspacing="0" border="1px">
                <tr>
                    <th><input type="checkbox" id="check"></th>
                    <th>分类ID</th>
                    <th>分类名称</th>
                    <th>分类描述</th>
                    <th>操作</th>
                </tr>
                <tbody id="tb">
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>0</td>
                        <td>手机数码</td>
                        <td>手机数码类商品</td>
                        <td><a href="#">修改</a>|<a href="#" class="del">删除</a></td>
                    </tr>
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>1</td>
                        <td>电脑办公</td>
                        <td>电脑办公类商品</td>
                        <td><a href="#">修改</a>|<a href="#" class="del">删除</a></td>
                    </tr>
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>2</td>
                        <td>鞋靴箱包</td>
                        <td>鞋靴箱包类商品</td>
                        <td><a href="#">修改</a>|<a href="#" class="del">删除</a></td>
                    </tr>
                    <tr>
                        <td><input type="checkbox"></td>
                        <td>3</td>
                        <td>家居饰品</td>
                        <td>家居饰品类商品</td>
                        <td><a href="#">修改</a>|<a href="#" class="del">删除</a></td>
                    </tr>
                    <tr><td colspan="6"><button>多选删除</button></td></tr>
                </tbody>
            </table>
        </body>
    </html>
    View Code

       

     

    就是这么简单,你学废了吗?感觉有用的话,给笔者点个赞吧 !
  • 相关阅读:
    SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因
    微软BI 之SSIS 系列
    微软BI 之SSIS 系列
    微软BI 之SSIS 系列
    微软BI 之SSIS 系列
    微软BI 之SSIS 系列
    微软BI 之SSAS 系列
    微软BI 之SSRS 系列
    微软BI 之SSRS 系列
    配置 SQL Server Email 发送以及 Job 的 Notification通知功能
  • 原文地址:https://www.cnblogs.com/zys2019/p/11788970.html
Copyright © 2011-2022 走看看