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

       

     

    就是这么简单,你学废了吗?感觉有用的话,给笔者点个赞吧 !
  • 相关阅读:
    Solaris下批量kill掉oracle的session
    我写blog的方式变迁
    filezilla ftp client在win7 下获取ftp目录信息出错解决方法
    GNU System Monitor编译问题
    在vmware的Solaris虚拟机中安装vmtool
    关于golden gate director client的一点点使用总结
    测试 乱弹
    ORM的世界 (再补充)
    Yahoo Konfabulator
    轻量容器和注射依赖 的自实现
  • 原文地址:https://www.cnblogs.com/zys2019/p/11788970.html
Copyright © 2011-2022 走看看