• python之路_前端基础之jQuery入门2


    一、样式操作

    1、css样式

    <body>
    <div class="c1">111</div>
    <script src="jquery-3.2.1.min.js"></script>
    <script>
        //css赋值操作
        $(".c1").css("color","red");
        $(".c1").css("border","10px solid green");
        $(".c1").css({"font-size":"36px","background-color":"blue"});
        //获取css值
        console.log($(".c1").css("color"))
    </script>
    </body>

    2、样式类

      总共包含如下四种方式控制标签样式:

    addClass()                                        ---添加指定的CSS类名
    removeClass()                                     ---移除指定的CSS类名
    hasClass()                                        --- 判断样式存不存在
    toggleClass()                                     ---切换CSS类名,如果有就移除,如果没有就添加

      模拟开关灯实例:

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .c3{
                background: yellow;
            }
        </style>
    </head>
    <body>
    <button class="c1">开关按钮</button>
    <div class="c2" style=" 100px;height: 100px;border-radius: 50%"></div>
    <script src="jquery-3.2.1.min.js"></script>
    <script>
        $(".c1").on("click",function () {
            $(".c2").toggleClass("c3")                                  //如果 $(".c2")的class样式类中有c3样式,则删除此样式,若没有添加此样式
        })
    </script>
    </body>

    3、位置操作

      offset()和position():

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .c1{
                width: 100px;
                height: 100px;
                background-color: #396bb3;
                position: relative;
                top: 100px;
                left: 100px;
            }
            .c2{
                width: 100px;
                height: 100px;
                background-color: #cccccc;
                position: absolute;
                top: 50px;
                left: 50px;
            }
        </style>
    </head>
    <body>
    <div class="c1">
        <div class="c2"></div>
    </div>
    <script src="jquery-3.2.1.min.js"></script>
    <script>
        //获取位置参数
        var $a=$(".c2").offset();                                        // 获取匹配元素在当前视口的相对偏移
        console.log($a);                 //{top: 158, left: 158}
        var $b=$(".c2").position();                                      // 获取匹配元素相对已定位父元素的偏移
        console.log($b)                  //{top: 50, left: 50}
    
        //设置位置参数
        $(".c2").offset({"top":1000,"left":1000});                       //数字不需要加引号和px
    </script>
    </body>

      scrollTop() :获取匹配元素相对滚动条顶部的偏移;$(window).scroll() : 滚动触发,具体应用见如下返回顶部的实例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .c1{
                width: 100%;
                height: 2000px;
                background-color: #cccccc;
            }
            .hide{
                display: none;
            }
            .c2{
                position: fixed;
                bottom: 10px;
                right: 10px;
                background-color: #e59373;
            }
    
        </style>
    </head>
    <body>
    <div class="c1"></div>
    <button class="c2 hide">返回顶部</button>
    <script src="jquery-3.2.1.min.js"></script>
    <script>
        $(window).scroll(function () {                                    //$(window).scroll()  --> 滚动触发
            if($(window).scrollTop()>100){                                //scrollTop()         --> 获取窗口滚动距离
                $(".c2").removeClass("hide")
            }
            else {
                $(".c2").addClass("hide")
            }
        });
        $(".c2").on("click",function () {
            $(window).scrollTop(0)                                       //scrollTop(0)         --> 设置窗口滚动距离为0

    4、尺寸操作

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .c1{
                width: 50px;
                height: 50px;
                padding: 20px;
                border: 10px solid coral;
                background-color: #cccccc;
            }
        </style>
    </head>
    <body>
    <div class="c1"></div>
    <script src="jquery-3.2.1.min.js"></script>
    <script>
        //内容区本体设置的宽度
       console.log( $(".c1").width());                                 //50
       console.log( $(".c1").height());                                //50
        //内容区本体设置的宽度+padding的区域宽度
       console.log( $(".c1").innerWidth());                            //90
       console.log( $(".c1").innerHeight());                           //90
        //内容区本体设置的宽度+padding的区域宽度+border宽度
       console.log( $(".c1").outerWidth());                            //110
       console.log( $(".c1").outerHeight());                           //110
    </script>
    </body>

    二、文本操作

    1、html()与text()

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div class="c1"><div>111</div></div>
    <div class="c1">222</div>
    <div class="c2">333<div>444</div></div>
    <div class="c2">555</div>
    
    <script src="jquery-3.2.1.min.js"></script>
    <script>
        //html
        $(".c1").html();                               //取值---得标签下所有内容:<div>111</div>,若有多个class=c1标签,则取第一个
        $(".c1").html("<span>aaa</span>");             //赋值--将标签下所有内容都清空,标签有效,若有多个同样标签,均会重新被赋值
        //text
        $(".c2").text();                               //取值---取得标签下的纯文本内容,即使有多个也会都取出来:333444555
        $(".c2").text("<span>aaa</span>")              //赋值---将标签下的所有内容都清空,标签无效,作为文本显示,若有多个同样标签,均会重新被赋值
    
    
    </script>
    </body>

    2、val()文本

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <input type="text" class="c1" value="world">
    <input type="checkbox" name="checkboxname" value="v1"/> check1
    <input type="checkbox" name="checkboxname" value="v2"/> check2
    <div>
        <input type="radio" name="r" value="r1"/> radio1
        <input type="radio" name="r" value="r2"/> radio2
        <input type="radio" name="r" value="r3"/> radio3
    </div>
    
    <select name="" id="d1">
        <option value="1">option1</option>
        <option value="2">option2</option>
        <option value="3">option3</option>
    </select>
    <select name="" id="d2" multiple="multiple">
        <option value="4">option4</option>
        <option value="5">option5</option>
        <option value="6">option6</option>
    </select>
    
    <script src="jquery-3.2.1.min.js"></script>
    <script>
        //input--text
        $(".c1").val();                                   //获取输入框内的值
        $(".c1").val("hell0");                            //给输入框重新赋值
    
        //input--checkbox
        $(":checkbox").val();                            //只会显示第一个对应的value值v1
        $(":checkbox:checked").val();                    //若有多个被选中,则只会显示第一个对应的value
        //非数组形式--修改value值
        $(":checkbox").val("k1");                        //将全部标签的value改为k1
        $(":checkbox").val("k1","k2");                   //按照第一个值,将全部标签的value改为k1
        $(":checkbox:checked").val("k1");                //将选中的标签对应value改为k1
        //数组形式--勾选选项
        $(":checkbox").val(["v1","v2"]);                 //通过选项value值选勾选应的选项,value值以数组的形式写,即使选一个也必须为数组形式
    
        //input--ratio
        $(":radio").val();                               //只会显示第一个对应的value值r1
        $(":radio:checked").val();                       //显示被选中项对应的value值
        //非数组形式--修改value值
        $(":radio").val("k1");                           //把所有的对应的单选框的值改为k1
        $(":radio:checked").val("k1");                   //把选中的对应的单选框的值改为k1
       //数组形式--勾选选项
        $(":radio").val(["r1"]);                         //通过选项value值选勾选应的选项,value值以数组的形式写
    
        //select单选
        $("#d1").val();                                  //获取被选中的选项对应value值
        $("#d1").val("2");                               //通过选项value值选取对应的选项,结果option2被选中
    
        //select多选
        $("#d2").val();                                  //获取被选中项对应的value值,结果以数组形式显示,即使只选中一个
        $("#d2").val(["4","5"]);                         //通过选项value值选取对应的选项,value值以数组的形式写
        $("#d2").val("5")                                //如果是选一个可以不用数组的形式
    </script>
    </body>
    </html>

    三、属性操作

      attr()与prop():

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div class="c1" k1="v1"></div>
    <input type="checkbox">
    <input type="radio">
    <script src="jquery-3.2.1.min.js"></script>
    <script>
        //attr
        console.log($(".c1").attr("k1"));                           //查询属性值:v1
        $(".c1").attr("k2","v2");                                   //设置单个属性
        $(".c1").attr({"k3":"v3","k4":"v4"});                       //设置多个属性
        $(".c1").removeAttr("k4");                                  //删除属性
    
        //prop:适用于checkbox和radio;返回值是true或false
        //查询属性值:
        $(":checkbox").prop("checked");                             //如果勾选了此,返回true,否则返回false
        $(":radio").prop("checked");                                //如果勾选了此,返回true,否则返回false
    
        //设置属性值:
         $(":checkbox").prop("checked",true);                       //设置为勾选了此框
         $(":checkbox").prop("checked",false);                      //设置为不勾选了此框
        
    </script>
    
    </body>
    </html>

    四、应用实例

      下述为全选、反选、取消应用实例:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <table border="1px" cellspacing="10" cellpadding="5">
        <tr>
            <th>#</th>
            <th>姓名</th>
            <th>年龄</th>
            <th>爱好</th>
        </tr>
        <tr>
            <td><input type="checkbox" class="input" value="c1"></td>
            <td>egon</td>
            <td>73</td>
            <td>吃鸡</td>
        </tr>
         <tr>
            <td><input type="checkbox" class="input" value="c2"></td>
            <td>alex</td>
            <td>84</td>
            <td>吹逼</td>
        </tr>
        <tr>
            <td><input type="checkbox" class="input" value="c3"></td>
            <td>wusir</td>
            <td>26</td>
            <td>装死</td>
        </tr>
    </table>
    <button class="selectall">全选</button>
    <button class="cancel">取消</button>
    <button class="reverse">反选</button>
    
    <script src="jquery-3.2.1.min.js"></script>
    <script>
        $(".selectall").on("click",function () {
            $(":checkbox").prop("checked",true)
        });
        $(".cancel").on("click",function () {
             $(":checkbox").prop("checked",false)
        });
        $(".reverse").on("click",function () {
            $(":checkbox").each(function (){
                if($(this).prop("checked")){
                    $(this).prop("checked",false)
                }
                else{
                  $(this).prop("checked",true)
                }
            })
        })
    </script>
    </body>
    </html>
  • 相关阅读:
    Turtlebot-导航
    Turtlebot-创建地图-Gmapping-Kinect
    Gflags
    Linux Driver 入门
    Linux Kernel 入门
    Linux Driver 入门
    Linux Driver 入门
    Linux Driver 入门
    Win10 复制文件路径
    vs2010 nuget 基础连接已经关闭:发送时发生错误
  • 原文地址:https://www.cnblogs.com/seven-007/p/7846685.html
Copyright © 2020-2023  润新知