zoukankan      html  css  js  c++  java
  • python之路18:jQuery

    概述

    jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多),对javascript进行了封装,是更加便捷的开发,并且在兼容性方面十分优秀。如何使用jQuery?导入jQuery文件,如<script src="jquery-3.2.1.js"></script>或者<script src="jquery-3.2.1.min.js"></script> (min代表压缩版)

    它分以下几部分:

    1. 选择器和筛选
    2. 属性
    3. css
    4. 文档处理
    5. 事件
    6. 扩展
    7. ajax
    选择器
    1、基本选择器
    - ID选择器 $("#id的值")
    - 类选择器(class) $(".class的值")
    - 标签选择器(html标签) $("标签的名字")
    - 所有标签 $("*")
    - 组合选择器 $("xx,xxx")
     2、层级选择器
    - 从一个标签的子子孙孙去找 $("父亲 子子孙孙")
    - 从一个标签的儿子里面找 $("父亲>儿子标签")
    - 找紧挨着的标签 $("标签+下面紧挨着的那个标签")
    - 找后面所有同级的 $("标签~兄弟")
    筛选器
    - 写在引号里面的
    基本筛选器
      $(" :first") 找第一个
      $(" :not('')") 不是/非
      $("#i1>input":not('.c1,.c2'))
      $(" :even") 偶数
      $(" :odd") 奇数
      $(" :eq(index)") 找等于index的
      $(" :gt(index)") 找大于index的
      $(" :lt(index)") 找小于index的
      $(" :last") 最后一个
      $(" :focus") 焦点
           内容==========
      $(" .c1:contains('我是第一个')") 包含文档的内容的标签
      $(" :empty") 标签内容为空的
      $(" :has('')") 包含标签的标签
      $(" :parent") 找有孩子的父亲
      $("#i7").parent() 找i7的父亲

    可见性========
      $(" :hidden") 找到隐藏的
      $(" :visible") 找不隐藏的,也就是显示的
      属性==========
      input[name] --> 找有name属性的input
      input[type='password'] --> 类型是password的input标签
    表单==========
       :input
      :password
      :checkbox
       :radio
      :submit
       :button
      :image
      :file

    表单对象属性=========
    :enable 可选的
    :disable 不可选
    :checked 选中的
    :selected 下拉框选中
    - 写在信号外面当方法用的
    过滤===========
    $("").first() 找第一个
    $("").parent() 找父亲
    $("").eq(index) 找等于index的
    .hasClass() 判断有没有某个类的
    查找
    .children() 找孩子
    .find() 查找
    .next() 下面的
    .nextAll() 下面所有的
    .nextUntil() 找下面的直到找到某个标签为止

    .parent() 找父亲
    .parents() 找所有的父亲
    .parentsUntil() 直到找到你要找的那个父亲为止

    .prev() 上面的
    .prevAll() 上面的所有
    .prevUntil() 上面的直到找到某个标签为止
    .siblings() 所有的兄弟

    toggleClass()  切换|开关:有就移除,没有就添加

    addClass("hide")  添加类

    removeClass("hide") 删除类

    jQuery对象:
    用jQuery选择器查出来的就是jQuery对象,它只能使用jQuery方法,不能使用DOM的方法。

    DOM对象和jQuery对象转换:
    - $(".c1")[0] --> DOM对象
    - $(DOM对象)

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>开关</title>
     6     <style>
     7         .c1 {
     8             width: 200px;
     9             height: 200px;
    10             border: 1px solid grey;
    11             border-radius: 50%;
    12             display: inline-block;
    13         }
    14 
    15         .c2 {
    16             background-color: red;
    17         }
    18     </style>
    19 </head>
    20 <body>
    21 <div class="c1"></div>
    22 <button class="btn">按钮</button>
    23 <script src="jquery-3.4.1.js"></script>
    24 <script>
    25     //    找到button添加事件
    26     $(".btn").on('click', function () {
    27         //当点击的时候让变色
    28         $(".c1").toggleClass('c2')
    29     });
    30 
    31 </script>
    32 </body>
    33 </html>
    开关按钮

    属性

    属性(如果你的选择器选出了多个对象,那么默认只会返回出第一个属性)、

    attr(属性名|属性值)
    - 一个参数是获取属性的值,两个参数是设置属性值
    - 点击加载图片示例
    removeAttr(属性名)
    -删除属性的值
    prop(属性名|属性值)
    - 属性的返回值的是布尔类型
    - 单选,反选,取消的例子
    removeProp(属性名)
    -删除属性的值

    循环:each(两种循环示例)
    - $.each(数组/对象, function(i, v){})
    - $("div").each(function(){})
    CSS类
    - addClass 添加类属性
    - removeClass 移除类属性
    - toggleClass 开关|切换(有就移除,没有就添加)

    HTML代码/文本/值
    没有参数就是获取对应的值,
    有参数就设置对应的值
    - .html() 添加html标签 .html("<span>啦啦啦。</span>")
    - .text() 添加文本 .text("啦啦啦。")
    - .val()
    input :一个参数,获取的是input框里面的值
    checkbox :一个参数,获取的是value的值
    select :
    单选:获取值
    多选:得到的是一个数组,设置的时候也要是数组
    文档操作
    CSS
    .css()
    - .css("color") -> 获取color css值
    - .css("color", "#ff0000") -> 设置值
    - .css({"color": "#cccccc", "border": "1px solid #ff0000"}) -> 设置多个值
    - .css(["color", "border"]) -> 获取多个值
    .offset
    - 获取相对位置
    - 比较的对象是html (窗口)
    .position
    - 获取相对已经定位的父标签的位置
    - 比较的是最近的那个做过定位的祖先标签
    .scrollTop([val])
    - 返回顶部的例子
    .scrollLeft([val])
    尺寸:
    height([val|fn])
    - 元素的高度
    width([val|fn])
    - 元素的宽度
    innerHeight()
    - 带padding的高度
    innerWidth()
    - 带padding的宽度
    outerHeight([soptions])
    - 在innerHeight的基础上再加border的高度
    outerWidth([options])
    - 在innerHeight的基础上再加border的高度

    文档操作
    内部插入
    A.append(B) 吧B添加到A的后面
    A.appendTo(B) 吧A添加到B的后面
    A.prepend(B) 吧B添加到A的前面
    A.prependTo(B) 吧A添加到B的前面
    外部插入
    A.after(B) 吧B添加到A的后面
    A.insertAfter(B) 吧A添加到B的后面
    A.before(B) 吧B添加到A的前面
    A.insertBefore(B) 吧A添加到B的前面

    包裹
    wrap(html|ele|fn)
    A.wrap(B) --> B包A
    unwrap() 不抱
    - 不要加参数

    wrapAll(html|ele) 都包(作为整体包),只包你选中的那个
    wrapInner(html|ele|fn) 里面包
    替换
    replaceWith(content|fn)
    A.replaceWith(B) --> B替换A

    replaceAll(selector)
    A.replaceAll(B) --> A替换B

    删除
    empty()
    - 清空 内部清空
    remove([expr])
    - 删除 整体都删除
    detach([expr])
    - 剪切 多保存在变量中,方便再次使用
    克隆/复制
    clone([Even[,deepEven]])

    动画
    基本
    show([s,[e],[fn]])
    hide([s,[e],[fn]])
    toggle([s],[e],[fn])
    滑动
    slideDown([s],[e],[fn])
    slideUp([s,[e],[fn]])
    slideToggle([s],[e],[fn])
    淡入淡出
    fadeIn([s],[e],[fn])
    fadeOut([s],[e],[fn])

    fadeTo([[s],o,[e],[fn]])
    - 淡出到0.66透明度
    fadeToggle([s,[e],[fn]])
    - .fadeToggle(3000, function () {
    alert("真没用3");
    });
    自定义
    animate(p,[s],[e],[fn])1.8*
    - css属性值都可以设置
    - 图片变小(漏气)

    事件处理

    之前绑定事件的方式:
    1. onclick=clickMe(); function clickMe() {}
    2. ele.onclick = function(){}
    3. ele.addEventListener("click", function(){}) js事件委派

    jQuery绑定事件的方式:
    1. $(ele).on("click", function(){})
    2. $("tbody").delegate(".btn-warning", "click", function(){}) 这个3.几的版本没有这个方法了,这是3.几以前版本有的方法
    3. $("tbody").on("click",".btn-warning",function(){}) jQuery的事件委派
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title></title>
     6     <style>
     7         .back{
     8             position: fixed;
     9             bottom: 0px;
    10             right: 0px;
    11         }
    12         .hide{
    13             display: none;
    14         }
    15     </style>
    16 </head>
    17 <body>
    18 
    19 <div style="height: 2000px;"></div>
    20 
    21 <div onclick="GoTop()" class="back hide">返回顶部</div>
    22 
    23 <script src="jquery-1.8.2.js"></script>
    24 <script type="text/javascript">
    25 
    26     function GoTop(){
    27         //返回顶部
    28         $(window).scrollTop(0);
    29     }
    30 
    31     $(function(){
    32 
    33         $(window).scroll(function(){
    34             //当滚动滑轮时,执行函数体
    35 
    36             //获取当前滑轮滚动的高度
    37             var top = $(window).scrollTop();
    38 
    39             if(top>100){
    40                 //展示“返回顶部”
    41                 $('.back').removeClass('hide');
    42             }else{
    43                 //隐藏“返回顶部”
    44                 $('.back').addClass('hide');
    45             }
    46         });
    47     });
    48 
    49 </script>
    50 
    51 </body>
    52 </html>
    53 
    54 dem0
    返回顶部
     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4     <meta charset='utf-8'/>
     5     <title></title>
     6     <script type="text/javascript" src='jquery-3.4.1.js'></script>
     7     <script type="text/javascript">
     8         $(function () {
     9             $('#selectAll').click(function () {
    10                 $('#checklist :checkbox').prop('checked', true);
    11             })
    12             $('#unselectAll').click(function () {
    13                 $('#checklist :checkbox').prop('checked', false);
    14             })
    15             $('#reverseAll').click(function () {
    16                 $('#checklist :checkbox').each(function () {
    17                     $(this).prop('checked', !$(this).prop('checked'))
    18                 })
    19             })
    20 
    21         })
    22     </script>
    23 </head>
    24 <body>
    25 <div id='checklist'>
    26     <input type='checkbox' value='1'/>篮球
    27     <input type='checkbox' value='2'/>足球
    28     <input type='checkbox' value='3'/>羽毛球
    29 </div>
    30 <input type='button' value='全选' id='selectAll'/>
    31 <input type='button' value='不选' id='unselectAll'/>
    32 <input type='button' value='反选' id='reverseAll'/>
    33 </body>
    34 </html>
    全选反选
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>css示例</title>
     6 </head>
     7 <style>
     8     .c2 {
     9         width: 100px;
    10         height: 100px;
    11         background-color: red;
    12         position: relative;
    13         top: 50px;
    14         left: 50px;
    15     }
    16 
    17     .c3 {
    18         width: 100px;
    19         height: 100px;
    20         background-color: greenyellow;
    21         position: absolute;
    22         left: 100px;
    23         top: 100px;
    24 
    25     }
    26 </style>
    27 <body>
    28 <div class="c1">你好</div>
    29 <div class="c4">你好呀</div>
    30 <div class="c2">
    31     <div class="c3"></div>
    32 </div>
    33 
    34 <script src="jquery-3.4.1.js"></script>
    35 <script>
    36     //  1、  .css()
    37     $(".c1").css("color", "#336699");//找到标签,设置单个样式
    38     console.log($(".c1").css("color"));//获取color css值
    39     $(".c4").css({"color": "red", "border": "1px solid green", "font-size": "20px"});//设置多个样式
    40     console.log($(".c4").css(["color", "border", "font-size"]))
    41     //    2、offset
    42     console.log($(".c2").offset());
    43     console.log($(".c2").offset().left);
    44     console.log($(".c2").offset().top);
    45 
    46     console.log($(".c3").offset()); //{top: 107, left: 58}
    47     console.log($(".c3").position());//{top: 100, left: 100}
    48 
    49 </script>
    50 </body>
    51 </html>
    css实例
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>文档操作</title>
     6 </head>
     7 <ul id="u1">
     8     <li>111</li>
     9     <li>222</li>
    10     <li>333</li>
    11     <li>444</li>
    12 </ul>
    13 <p>文档</p>
    14 <ul id="u2">
    15     <li>第一章</li>
    16     <li>第二章</li>
    17     <li>第三章</li>
    18     <li>第四章</li>
    19 </ul>
    20 <body>
    21 <script src="jquery-3.4.1.js"></script>
    22 <script>
    23     //    在内部插入
    24     //      append:往后添加
    25     $("#u1").append("<li>456</li>");
    26     var li = document.createElement("li");
    27     $(li).text(666);
    28     $(li).appendTo($("#u1"));
    29     $("#u1>li:first").appendTo($("#u1")); //吧第一个添加到这个列表中。注意是挪动,不是复制
    30     $("#u1>li:last").appendTo($("#u1"));
    31     //      prepend :往前添加
    32     $("#u2").prepend("<li>啦啦啦</li>");  //吧啦啦啦添加到列表的前面
    33 
    34     var tem = document.createElement("li");
    35     tem.innerText = "哗啦啦。呼啦啦";
    36     $(tem).prependTo($("#u2"));//吧啦啦啦添加到列表里(先创建)
    37 
    38     //    在外部插入
    39     //    after
    40     $("#u2").after("<div>好好</div>");  //在列表的后面插入
    41 
    42     var tem = document.createElement("div");
    43     $(tem).text("哎呀");
    44     $(tem).css("color", "red");
    45     $(tem).insertAfter($("#u2"));  //插入到列表的后面
    46     //    before
    47     $("#u2").before("<div>111</div>");  //在列表的前面插入
    48 
    49     var tem = document.createElement("div");
    50     $(tem).text("six");
    51     $(tem).css("color", "blue");
    52     $(tem).insertBefore($("#u2"))  //插入到列表的后面
    53 
    54     //    包裹
    55     // wrap和unwrap
    56     var tem = document.createElement("div");
    57     $(tem).css("border", "1px solid #ff0000");
    58     $("#u1").wrap($(tem));  //让tem吧列表包起来
    59     $("#u1").unwrap();//不包,不需要加参数
    60     //    wrapAll和wrap和wrapInner
    61     var tem = document.createElement("div");
    62     $(tem).css("border", "1px solid yellow");
    63     $("ul").wrapAll($(tem)); //都包
    64     $("ul").wrap($(tem)); //单个包
    65     $("ul").wrapInner($(tem));//里面包
    66 
    67     //    替换
    68     //    replaceWith和replaceAll
    69     $("ul").replaceWith("<p>你愁啥?<p>");//吧所有的列表替换成你愁啥?
    70 
    71     var ele = document.createElement("p");
    72     $(ele).text("你愁啥?");
    73     $(ele).replaceAll($("ul"));
    74 
    75     //    删除
    76     $("ul:first").empty();//吧第一个ul清空
    77     $("ul>li:first").empty();//只是清空内容
    78     $("ul>li:last").remove();//都清空
    79 
    80     var a = $("#u1>li:first").detach();  //删除以后还保留着,可以再次使用
    81     a.appendTo($("#u1"))
    82 </script>
    83 </body>
    84 </html>
    文档操作

    事件

    常用事件
    blur([[data],fn]) 失去焦点
    focus([[data],fn]) 获取焦点( 搜索框例子)
    change([[data],fn]) 当select下拉框中的元素发生改变的时候触发change事件(select例子)
    click([[data],fn]) 点击
    dblclick([[data],fn]) 双击
    scroll([[data],fn]) 滚动
    submit([[data],fn]) 提交

    不常用事件
    error([[data],fn])
    focusin([data],fn)
    focusout([data],fn)
    keydown([[data],fn]) 按下
    keypress([[data],fn]) 按键
    keyup([[data],fn]) 键松开
    mousedown([[data],fn]) 鼠标按下
    mouseenter([[data],fn]) 鼠标移进去
    mouseleave([[data],fn]) 鼠标离开:只有鼠标离开被选元素的时候,才会触发mouseleave事件
    mousemove([[data],fn]) 鼠标移动
    mouseout([[data],fn]) 鼠标离开:无论鼠标离开被选元素还是任何子元素,都会触发mouseout事件
    mouseover([[data],fn] 鼠标悬停
    mouseup([[data],fn]) 鼠标弹起
    resize([[data],fn]) 元素窗口发生变化
    select([[data],fn])
    unload([[data],fn])
    补充:
    文档树加载完之后绑定事件(绝大多数情况下)
    第一种:吧script放在后面。
    第二种:
    $(document).ready(function(){
    // 绑定事件的代码
    ....
    })

    简写:
    $(function($){
    // 绑定事件的代码
    ....
    });
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>onmouse事件</title>
     6     <style>
     7         .box {
     8             width: 300%;
     9             height: 200px;
    10         }
    11 
    12         .title {
    13             background: steelblue;
    14             line-height: 40px;
    15         }
    16 
    17         .con {
    18             background: slategray;
    19             line-height: 30px;
    20         }
    21 
    22         .hide {
    23             display: none;
    24         }
    25     </style>
    26 </head>
    27 <body>
    28 <div class="box">
    29     <div class="title">onmouse</div>
    30     <div class="con hide">
    31         <div><a href="" class="item">你好吗?</a></div>
    32         <div><a href="" class="item">我好啊</a></div>
    33         <div><a href="" class="item">好就好</a></div>
    34     </div>
    35 </div>
    36 <script>
    37     var ele_title = document.getElementsByClassName('title')[0];
    38     var ele_box = document.getElementsByClassName('box')[0];
    39     //鼠标指上去的事件
    40     ele_title.onmouseover = function () {
    41         this.nextElementSibling.classList.remove('hide');
    42     };
    43     //鼠标移走的事件的两种方式
    44     //    方式一(推荐)
    45     ele_box.onmouseleave = function () {
    46         ele_title.nextElementSibling.classList.add('hide');
    47     };
    48     //    方式二
    49     //    ele_title.onmouseout = function () {
    50     //       this.nextElementSibling.classList.add('hide');
    51     //    }
    52     //    方式一和方式二的区别:
    53     //    不同点
    54     //      onmouseout:不论鼠标指针离开被选元素还是任何子元素,都会触发onmouseout事件
    55     //      onmouseleave:只有在鼠标指针离开被选元素时,才会触发onmouseleave事件
    56     //    相同点:都是鼠标移走触发事件
    57 </script>
    58 </body>
    59 </html>
    onmouse事件

    参考: 

    http://www.cnblogs.com/alex3714

    http://www.cnblogs.com/wupeiqi

    internet&python books

    PS:如侵权,联我删。

     
  • 相关阅读:
    sklearn—支持向量机
    sklearn—LinearRegression,Ridge,RidgeCV,Lasso线性回归模型简单使用
    技术文档翻译-------glove readme(1)
    python jieba分词(结巴分词)、提取词,加载词,修改词频,定义词库 -转载
    Word2Vec模型参数 详解
    aws ec2 硬盘扩容
    记一个python requests模块请求的报错
    ubuntu安装mysql, 修改初始密码一条龙服务
    mysql 创建用户, 分配权限, 删除用户
    sqlite删除数据
  • 原文地址:https://www.cnblogs.com/BillyLV/p/11217447.html
Copyright © 2011-2022 走看看