zoukankan      html  css  js  c++  java
  • Jquery的使用

    使用Jquery的准备工作:

        1.把Jquery文件引入到项目中(注意:Jquery文件有很多迭代版本,不一定要和这里的版本一样)

       2.在html中引入Jquery文件

    <!-- 2、引入Jquery -->
    <script type="text/javascript" src="../jquery/jquery-1.11.2.min.js"></script>

    一、万能的$

      $是一个对象,也是一个方法

      1.1直接获取页面的元素

        $("选择器") 例:$("#id值")

    <script type="text/javascript">
        $(function() {
            $("#btn");//获取id为btn的标签
            $(".btn");//获取所有class为btn的标签
            $("p");//获取所有p标签
            $("input[name=hobbies]");//获取所有name属性为hobbies的input标签
            $("tr:even");//获取所有下标为偶数的tr标签
         ......
    }); </script>

      1.2 dom就绪后执行相应的代码

        window.onload = function(){...} -> 页面加载完毕后执行(所有数据请取完毕)

    window.onload = function(){
        //1.可以获取当前页面中的元素
        var mydiv = $("#mydiv");
        console.debug(mydiv);
    }

        $(function(){...}) -> dom加载就绪(只需要读取到标签与属性即可【速度更快,性能更好】)

    $(function(){
          //1.可以获取当前页的元素
          //  jQuery的方案获取的元素
          var mydiv = $("#mydiv");
          console.debug(mydiv);
    })

      1.3 原生的dom对象和jQuery对象互转

        jQuery对象的功能更加强大 【object{...}】,是一个伪数组(它不是数组,但是可以当作数组用,数组中装的就是原生对象)

        1、把原生对象转成jQuery对象

    $(function(){
       console.debug($(mydivDom));
    })

        2、把jQuery对象转成原生对象

    $(function(){
         console.debug(mydiv[0]);
           console.debug(mydiv.get(0)); 
    
    })

      1.4 直接创建dom元素 原本:document.createElement("div");

    var div = $("<div><span>sdfasdfsdf</span></div>");


      1.5 直接调用相应的方法 $.get(..)/$.parseJSON(..)

    console.debug($.isNumeric(5));
    console.debug($.isNumeric("5z"));

    二、选择器

      2.1基本选择器(id,class,标签,多选择器)

    <script type="text/javascript">
    $(function(){
        
        //id选择器,必需加一个#
        console.debug($("#monkey"));
        //class(类)选择器,必需加一个.
        console.debug($(".animal"));
        //标签选择器
        console.debug($("li"));
        //* 匹配所有元素
        console.debug($("*"));
        //多选择器(可以组合所有选择器)
        console.debug($("#monkey,.snake"));
    })
    </script>

      2.1层级选择器(父子,后代)

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <!-- 引入一个jQuery文件 -->
    <script type="text/javascript" src="jquery/jquery-1.11.2.js"></script>
    <script type="text/javascript">
        $(function(){
            //拿到 #book这个选择器里面的所有li (后代选择器)
            console.debug($("#book li"))
            //拿到 #book这个选择器里面 第一层li (儿子选择器)
            console.debug($("#book>li"));
        })
    </script>
    </head>
    <body>
        <ul id="book">
            <li>
                四大名著
                    <ul>
                        <li>西游记</li>
                        <li>水浒传</li>
                        <li>三国演义</li>
                        <li>红楼梦</li>
                    </ul>
            </li>
            <li>西施</li>
            <li>貂蝉</li>
            <li>王昭君</li>
            <li>杨玉环</li>
        </ul>
        <ul>
            <li class="animal">白龙马</li>
            <li class="animal" id="monkey">孙悟空</li>
            <li class="animal">猪八戒</li>
            <li>沙悟净</li>
        </ul>
        <ul>
            <li class="snake">黄鸟</li>
            <li class="snake">白鸟</li>
            <li>绿鸟</li>
            <li>红鸟</li>
        </ul>
    </body>
    </html>

      2.3伪类选择器

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <!-- 引入一个jQuery文件 -->
    <script type="text/javascript" src="jquery/jquery-1.11.2.js"></script>
    <script type="text/javascript">
        $(function(){
        //伪类选择器
        //:first -> 只拿第一个元素
        console.debug($("li:first"));
        //:eq(index) -> 确定拿第几个 index:下标
        console.debug($("li:eq(3)"));
        })
    </script>
    </head>
    <body>
        <ul id="book">
            <li>
                四大名著
                    <ul>
                        <li>西游记</li>
                        <li>水浒传</li>
                        <li>三国演义</li>
                        <li>红楼梦</li>
                    </ul>
            </li>
            <li>西施</li>
            <li>貂蝉</li>
            <li>王昭君</li>
            <li>杨玉环</li>
        </ul>
        <ul>
            <li class="animal">白龙马</li>
            <li class="animal" id="monkey">孙悟空</li>
            <li class="animal">猪八戒</li>
            <li>沙悟净</li>
        </ul>
        <ul>
            <li class="snake">黄鸟</li>
            <li class="snake">白鸟</li>
            <li>绿鸟</li>
            <li>红鸟</li>
        </ul>
    </body>
    </html>

      2.4属性选择器 -> $(div[name])/$(div[name=xx])

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    <!-- 引入一个jQuery文件 -->
    <script type="text/javascript" src="jquery/jquery-1.11.2.js"></script>
    <script type="text/javascript">
        $(function(){
        //属性选择器
        console.debug($("li[class]"));
        console.debug($("li[name='mei']"));
        })
    </script>
    </head>
    <body>
        <ul id="book">
            <li>
                四大名著
                    <ul>
                        <li>西游记</li>
                        <li>水浒传</li>
                        <li>三国演义</li>
                        <li>红楼梦</li>
                    </ul>
            </li>
            <li name="xi">西施</li>
            <li name="diao">貂蝉</li>
            <li name="zhao">王昭君</li>
            <li>杨玉环</li>
        </ul>
        <ul>
            <li class="animal">白龙马</li>
            <li class="animal" id="monkey">孙悟空</li>
            <li class="animal">猪八戒</li>
            <li>沙悟净</li>
        </ul>
        <ul>
            <li class="snake">黄鸟</li>
            <li class="snake">白鸟</li>
            <li>绿鸟</li>
            <li>红鸟</li>
        </ul>
    </body>
    </html>

    三、事件注册

      $(元素).click(function(){...})

      $(元素).bind("click",function(){...}) / unbind

      $(元素).on("click",function(){...}) / off

    =============事件委派===========

      $("#userTbody").on("click",".del",function(){})

      监听tbody的点击事件,当你点击的位置(元素)符合 .del -> 就触发事件

          //on("绑定的事件","需要满足的条件",满足条件执行的函数(方法))
            $("#userTbody").on("click",".del",function(){
                //parent():找到元素的父元素
                //$(this).parent().parent().remove();
                //closest:从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素。。
                $(this).closest("tr").remove();
            })

    四、列举

      1、each() -> 遍历咱们的元素

        jQuery对象.each(function(index,ele){

          //index:遍历的下标

          //ele:遍历的每一个元素

        })

      2、length -> 一个jQuery元素(伪数组)的长度

        jQuery对象.length/jQuery.size()

      3、attr/prop -> 获取与设置某个元素的属性

        prop:支持多选与单选(attr支持有问题)

        var 属性值 = jQuery元素.attr/prop("属性名");

        jQuery元素.attr/prop("属性名","属性值");

      4、HTML代码/文本/值

        var html = jQuery对象.html() -> 获取一个对象中的所有html的内容

        jQuery对象.html("<div>xxx</div>") -> 设置一个对象中的所有html的内容

        //val只用于设置表单元素(input,textarea,select)的值

        var html = jQuery对象.val()

        jQuery对象.val("<div>xxx</div>")

      5、css -> 获取与设置元素的某个样式

        jQuery元素.css("样式名","样式值");

        jQuery元素.css("background-color","red");

      6、文本操作

        jQuery元素.append("元素"); -> 把括号中的元素放到jQuery元素中

        jQuery元素.appendTo("元素"); -> 把jQuery元素追加到元素中

        jQuery元素.empty():清空所有子元素

        jQuery元素.remove():删除自己

        jQuery元素.clone([true/false]):当前元素复制一下 (加true可以连事件一起复制)

      7、查询

        jQuery元素.closest("条件") -> 从当前元素向上查询,找到第一个满足条件的元素为止

        jQuery元素.parent() -> 找到当前元素的父元素

      8、ready(fn) :页面载入 [dom就绪后执行相应的代码]

        $(function(){...})

     五、代码案例

       1、案例一:

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>用户新增测试</title>
    <script language="javascript" src="../jquery/jquery-1.11.2.min.js"></script>
    <script language="javascript">
        $(function(){
            //提交
            $("#btn_submit").on("click",function(){
                var un=$("#username").val();
                var em=$("#email").val();
                var tel=$("#tel").val();
                //append("内容"):在调用该方法的标签中的内容后面加入指定的内容
                //prepend("内容"):在调用该方法的标签中的内容前面加入指定的内容
                $("#userTbody").append("<tr><td>"+un+"</td><td>"+em+"</td><td>"+tel+"</td><td><button class='del'>删除</button></td></tr>");
            })
            
            //删除所有
            $("#btn_removeAll").on("click",function(){
                //删除tbody的所有子元素
                $("#userTbody").empty();
            })
            
            //删除单条数据
            //on("绑定的事件","需要满足的条件",满足条件执行的函数(方法))
            $("#userTbody").on("click",".del",function(){
                //parent():找到元素的父元素
                //$(this).parent().parent().remove();
                //closest:从元素本身开始,逐级向上级元素匹配,并返回最先匹配的元素。。
                $(this).closest("tr").remove();
            })
            
        });
    </script>
    </head>
    <body>
        <a href="http://www.itsource.cn">首页</a>
        <form name="userForm">
            <center>
            用户录入<br/>
            用户名:<input id="username" name="username" type="text"/>
            E-mail:<input  id="email" name="email" type="text"/>
            电话:<input id="tel" name="tel" type="text"/>
            
            <input type="button" value="提交" id="btn_submit"/>
            <input type="button" value="删除所有" id="btn_removeAll"/>
            
            </center>
        </form>
        <hr/>
        <table border="1" align="center"> 
            <thead>
                <tr>
                    <th>用户名</th>
                    <th>E-mail</th>
                    <th>电话</th>
                    <th>操作</th>
                </tr>
            </thead>
            <tbody id="userTbody">
                
            </tbody>
        </table>
        
        
    </body>
    </html>

      2、案例二:

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>jquery练习</title>
    <script type="text/javascript" src="../jquery/jquery-1.11.2.min.js"></script>
    <script type="text/javascript">
        $(function() {
            $("#btn1").on("click",function(){
                $("#select").val("2号");
            })
            //下拉框
            $("#btn2").on("click",function(){
                //选中下拉框中value值为2号和5号的选项
                $("#selectMultiple").val(["2号","5号"]);
            })
            //复选框
            $("#btn3").on("click",function(){
                //选中复选框中value值为复选2和复选4的选项
                $("input[name=checkbox]").val(["复选2","复选4"]);
            })
            //单选框
            $("#btn4").on("click",function(){
                //单选框2的下标是1
                $("input[name=radio]").get(1).checked=true;
            })
            
            $("#btn5").on("click",function(){
                console.debug($(":checked"));
            })
        });
    </script>
    
    </head>
    <body>
        <input id="btn1" type="button" value="使单选下拉框‘2号’选中"/><br/>
        <input id="btn2" type="button" value="使多选下拉框‘2号’和‘5号’选中"/><br/>
        <input id="btn3" type="button" value="使复选框‘2号’和‘4号’选中"/><br/>
        <input id="btn4" type="button" value="使单选框‘单选2’选中"/><br/>
        <input id="btn5" type="button" value="打印已被选中的值"/><br/>
        
        <form name="userForm">
            单选下拉框<select id="select" name="select">
                <option value="1号">1号</option>
                <option value="2号">2号</option>
                <option value="3号">3号</option>
                <option value="4号">4号</option>
                <option value="5号">5号</option>
                <option value="6号">6号</option>    
            </select>
            
            多选下拉框<select id="selectMultiple" multiple="multiple" size="6" name="selectMultiple">
                <option value="1号">01号</option>
                <option value="2号">02号</option>
                <option value="3号">03号</option>
                <option value="4号">04号</option>
                <option value="5号">05号</option>
                <option value="6号">06号</option>    
            </select>
            <br/>
            复选框<input value="复选1" type="checkbox" name="checkbox"/>复选1
            <input value="复选2" type="checkbox" name="checkbox"/>复选2
            <input value="复选3" type="checkbox" name="checkbox"/>复选3
            <input value="复选4" type="checkbox" name="checkbox"/>复选4
            <input value="复选5" type="checkbox" name="checkbox"/>复选5
            <br/>
            单选框<input value="单选1" type="radio" name="radio"/>单选1
            <input value="单选2" type="radio" name="radio"/>单选2
            <input value="单选3" type="radio" name="radio"/>单选3
            <input value="单选4" type="radio" name="radio"/>单选4
        </form>
    </body>
    </html>
  • 相关阅读:
    Python去掉字符串中空格的方法
    python:list
    python3元组
    定时任务cron
    python字典:(Dictionary)操作详解
    SQL语句-基础
    linux免密码登陆
    linux开机故障解决方法
    您应升级到 MySQL 5.5.0 或更高版本。 phpmyadmin
    mysql忘记密码
  • 原文地址:https://www.cnblogs.com/wanghj-15/p/10977026.html
Copyright © 2011-2022 走看看