zoukankan      html  css  js  c++  java
  • Jquery

    jquery的口号和愿望 Write Less, Do More(写得少,做得多)

    windows.onload:不仅文档的标签需要加载,还要等文档对应的资源加载完,比如img标签的图片的大小资源的加载

    $(document).ready(function(){}):只需要等标签加载完毕就可以了 

    query选择器 
    jquery选择器可以快速地选择元素,选择规则和css样式相同,使用length属性判断是否选择成功。

    $('#myId') //选择id为myId的网页元素
    $('.myClass') // 选择class为myClass的元素
    $('li') //选择所有的li元素
    $('#ul1 li span') //选择id为为ul1元素下的所有li下的span元素
    $('input[name=first]') // 选择name属性等于first的input元素
    

    对选择集进行过滤

    $('div').has('p'); // 选择包含p元素的div元素
    $('div').not('.myClass'); //选择class不等于myClass的div元素
    $('div').eq(5); //选择第6个div元素

    选择集转移

    $('#box').prev(); //选择id是box的元素前面紧挨的同辈元素
    $('#box').prevAll(); //选择id是box的元素之前所有的同辈元素
    $('#box').next(); //选择id是box的元素后面紧挨的同辈元素
    $('#box').nextAll(); //选择id是box的元素后面所有的同辈元素
    $('#box').parent(); //选择id是box的元素的父元素
    $('#box').children(); //选择id是box的元素的所有子元素
    $('#box').siblings(); //选择id是box的元素的同级元素
    $('#box').find('.myClass'); //选择id是box的元素内的class等于myClass的元素
    

     

    jquery有容错机制,即使没有找到元素,也不会出错,可以用length属性来判断是否找到了元素,length等于0,就是没选择到元素,length大于0,就是选择到了元素。

    jquery操作样式

    1、操作行间样式: 读取:$div.css(‘width’)     写入:$div.css({‘width’:100,’height:’100’})

    2、操作样式类名: 增加样式类名  addClass(‘类名’) 删除样式类名:removeClass(‘类名’)

    操作样式类名

    $("#div1").addClass("divClass2") //为id为div1的对象追加样式divClass2
    $("#div1").removeClass("divClass")  //移除id为div1的对象的class名为divClass的样式
    $("#div1").removeClass("divClass divClass2") //移除多个样式
    $("#div1").toggleClass("anotherClass") //重复切换anotherClass样式

    检查jquery是否选择了元素:用jquery对象的length属性

    动画方法animate() 的参数

    参数一:要改变的样式属性,写成字典的形式

    参数二:动画持续的时间,单位是毫秒,默认是400毫秒,定义时不写单位

    参数三:动画曲线,有 swing 缓冲运动   linear  匀速运动

    参数四:回调函数

    Jquery特殊效果 

    fadeOut() 淡出
    fadeToggle() 切换淡入淡出
    hide() 隐藏元素
    show() 显示元素
    toggle() 切换元素的可见状态
    slideDown() 向下展开
    slideUp() 向上卷起
    slideToggle() 依次展开或卷起某个元素

    jquery对象的方法会在执行完后返回这个jquery对象,所有jquery对象的方法可以连起来写:

    $('#div1') // id为div1的元素
    .children('ul') //该元素下面的ul子元素
    .slideDown('fast') //高度从零变到实际高度来显示ul元素
    .parent()  //跳到ul的父元素,也就是id为div1的元素
    .siblings()  //跳到div1元素平级的所有兄弟元素
    .children('ul') //这些兄弟元素中的ul子元素
    .slideUp('fast');  //高度实际高度变换到零来隐藏ul元素


    jquery属性
    html() 取出或设置html内容
    prop() 取出或设置某个属性的值

    jquery事件函数列表:

    blur() 元素失去焦点
    focus() 元素获得焦点
    click() 鼠标单击
    mouseover() 鼠标进入(进入子元素也触发)
    mouseout() 鼠标离开(离开子元素也触发)
    mouseenter() 鼠标进入(进入子元素不触发)
    mouseleave() 鼠标离开(离开子元素不触发)
    hover() 同时为mouseenter和mouseleave事件指定处理函数
    ready() DOM加载完成
    submit() 用户递交表单

    正则表达式的写法:
    var re=new RegExp('规则', '可选参数');
    var re=/规则/参数;

    规则中的字符 
    1)普通字符匹配:
    如:/a/ 匹配字符 ‘a’,/a,b/ 匹配字符 ‘a,b’

    2)转义字符匹配:
    d 匹配一个数字,即0-9
    D 匹配一个非数字,即除了0-9
    w 匹配一个单词字符(字母、数字、下划线)
    W 匹配任何非单词字符。等价于[^A-Za-z0-9_]
    s 匹配一个空白符
    S 匹配一个非空白符
     匹配单词边界
    B 匹配非单词边界
    . 匹配一个任意字符

    量词:对左边的匹配字符定义个数 

    ? 出现零次或一次(最多出现一次)
    + 出现一次或多次(至少出现一次)
    * 出现零次或多次(任意次)
    {n} 出现n次
    {n,m} 出现n到m次
    {n,} 至少出现n次

    任意一个或者范围 
    [abc123] : 匹配‘abc123’中的任意一个字符
    [a-z0-9] : 匹配a到z或者0到9中的任意一个字符

    限制开头结尾 
    ^ 以紧挨的元素开头
    $ 以紧挨的元素结尾

    修饰参数:
    g: global,全文搜索,默认搜索到第一个结果接停止
    i: ingore case,忽略大小写,默认大小写敏感

    常用函数 
    test
    用法:正则.test(字符串) 匹配成功,就返回真,否则就返回假

    正则默认规则 
    匹配成功就结束,不会继续匹配,区分大小写

    事件冒泡:在一个对象触发某类事件(比如click事件),如果点击此对象触发事件,不仅此对象被触发,父级也会被触发事件,一级级向上传,直至传到document结束

    阻止事件冒泡

    // event.stopPropagation();
    // event.preventDefault();
    
    // 合并写法:
    return false;

    事件委托:就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。

    事件委托优点:极大的减少了绑定事件的次数,提高性能,其次让新加入的元素也可以拥有相同的操作

    写法: $ul.delegate(‘li’, ‘click’, function(){   这里的$(this)指的是当前冒泡的子级   })

    Dom元素节点操作指的是改变html的标签结构,它有两种情况:
    1、移动现有标签的位置
    2、将新创建的标签插入到现有的标签中

    创建新标签

    var $div = $('<div>'); //创建一个空的div
    var $div2 = $('<div>这是一个div元素</div>');
    

    移动或者插入标签的方法 
    1、append()和appendTo():在现存元素的内部,从后面放入元素

    2、prepend()和prependTo():在现存元素的内部,从前面放入元素

    3、after()和insertAfter():在现存元素的外部,从后面放入元素

    4、before()和insertBefore():在现存元素的外部,从前面放入元素

    删除标签

    $('#div1').remove();

    javascript中的对象,可以理解成是一个键值对的集合,键是调用每个值的名称,值可以是基本变量,还可以是函数和对象。

     创建javascript对象有两种方法,一种是通过顶级Object类来实例化一个对象,然后在对象上面添加属性和方法:

    创建对象方法:var person = new Object()

    对象直接量的方式:var person2 = {name:"summer",age:18}
    调用属性和方法:
    alert(person2.age);
    person2.sayName();


    json
    类似于javascript对象的一种数据格式
    注意:键名和值都需要写双引号,数字可以不写
    特点:可以和对象的一样用点的方式调用
    写法:{“name”:"summer","age":18}
    数组的写法: [{“name”:"summer","age":18}]
    嵌套的写法:{“name”:"summer","age":18,person:{“name”:"summer","age":18}}

    ajax需要在服务器的环境下运行
    常用参数:
    1、url 请求地址
    2、type 请求方式,默认是'GET',常用的还有'POST'
    3、dataType 设置返回的数据格式,常用的是'json'格式,也可以设置为'html'
    4、data 设置发送给服务器的数据
    5、success 设置请求成功后的回调函数
    6、error 设置请求失败后的回调函数
    7、async 设置是否异步,默认值是'true',表示异步
     
     
     
  • 相关阅读:
    LeetCode 769. Max Chunks To Make Sorted
    LeetCode 845. Longest Mountain in Array
    LeetCode 1059. All Paths from Source Lead to Destination
    1129. Shortest Path with Alternating Colors
    LeetCode 785. Is Graph Bipartite?
    LeetCode 802. Find Eventual Safe States
    LeetCode 1043. Partition Array for Maximum Sum
    LeetCode 841. Keys and Rooms
    LeetCode 1061. Lexicographically Smallest Equivalent String
    LeetCode 1102. Path With Maximum Minimum Value
  • 原文地址:https://www.cnblogs.com/Jack666/p/9420438.html
Copyright © 2011-2022 走看看