jQuery

33,530次阅读
没有评论

共计 11405 个字符,预计需要花费 29 分钟才能阅读完成。

目录

jQuery

选择器

基础选择器

子元素选择器

后代元素选择器

属性选择器

jQuery 扩展

DOM 操作

addclass()

removeClass()

toggleClass()

hasClass()

html()

val()

attr()

removeAttr()

DOM 插入并包裹现有内容

DOM 插入现有元素内

DOM 插入现有元素外

DOM 移除

DOM 替换

CSS 操作

css()获取和设置匹配元素的样式

height(),width()

innerHeight(),innerWidth()

outerHeight(),outerWidth()

offset()获取元素当前坐标

position()

scrollLeft(),scrollTop()

事件

绑定事件处理器

on()

one()

off()

鼠标事件

表单事件

focus()

blur()

change()

submit()

键盘事件

浏览器事件

事件对象

遍历

动画


jQuery

jQuery 是一个高效,精简并且功能丰富的 js 工具库。可以简化 DOM 操作

官网:jQuery 官网

中文文档:jQuery API 中文文档

选择器

$: 就是 jQuery 缩写

基础选择器

    
类选择器
类选择器
元素选择器
id 选择器
   
子元素选择器

选择指定父元素的所有直接后代元素

给 ul 的子元素添加边框

   
  • 第一个 li 标签
    • 嵌套的 li 标签
    • 嵌套的 li 标签
    • 嵌套的 li 标签
  • 第二个 li 标签
     //js 实现 --- 给 ul 的子元素(直接子元素)
        var ul=document.getElementsByClassName("test")[0];
        console.log(ul.childNodes);
        var lis = ul.children;
        for(var i=0;i
        //jQuery 实现
        $(".test> li").css("border","1px solid green");
后代元素选择器

选择指定父元素的所有后代元素

        //js 实现
        // 获取父元素
        var ulParent = document.getElementsByClassName("test")[0];
        // 获取全部后代所有 li 标签
        var liSons = ulParent.getElementsByTagName("li");
        for(var i=0;i
        //jQuery 实现
        $(".test  li").css("border","1px solid green");

属性选择器

1. 选择指定属性的给定值的元素

     
姓名
密码

2. 选择指定属性等于给定字符串或以该字符串为前缀(该字符串后跟一个连字符 ”-“)的元素

    测试样本 1 
    测试样本 2demo
    测试样本 3 
    

jQuery

3. 选择指定属性具有包含一个给定的子字符串的元素

    测试样本 1 
    测试样本 2demo
    测试样本 3 
    测试样本 3 
    

jQuery

4. 选择指定属性用空格分隔的值中包含一个给定值的元素

    测试样本 1 
    测试样本 2demo
    测试样本 3demo-test
    测试样本 3 
    

jQuery

5. 选择指定属性是以给定值结尾的元素,这个比较是区分大小写的

    测试样本 1 
    测试样本 2demo
    测试样本 3demo-test
    测试样本 4demo-test
    测试样本 5 
    

jQuery

6. 选择属性是以指定字符串开始的元素

    测试样本 1test
    测试样本 2demo
    测试样本 3demo-test
    测试样本 4demotest
    测试样本 5 
    

jQuery

jQuery 扩展

:eq(index)Selector

在匹配的集合里面选择索引为 index 的元素,index 下标索引是从 0 开始的

:even   选择偶数

:odd    选择奇数

:first   选择第一个

:last   选择最后一个

:gt(index)  选择匹配集合中索引大于给定 index 的元素

:lt(index)  选择匹配集合中所有索引值小于给定 index 参数的元素

    
  • 第一个 li 标签
  • 第二个 li 标签
  • 第三个 li 标签
  • 第四个 li 标签
  • 第五个 li 标签
  • 第六个 li 标签

DOM 操作

addclass()

给元素添加 css,这个方法不会替换一个样式类名,只是将一个样式类型叠加到元素上,也可以同时添加多个 class

    

=================================================

    

hello,world

removeClass()

移除元素中每个匹配元素上的一个,多个,或全部样式

      // 移除一个 class
        $("p").removeClass("myClass1");
        // 移除多个 class
        $("p").removeClass("myClass1 myClass2");
        // 移除全部样式
        $("p").removeClass();
toggleClass()

这是一个开关方法,如果 class 存在就删除,不存在就添加

         // 存在就删除,不存在就添加
        $("p").toggleClass("myClass1");
hasClass()

判断一个元素上是否含有某个 class

        // 判断 p 元素是否有 myClass1
        var flag = $("p").hasClass("myClass1");
        console.log(flag);
html()

获取元素中的 html 内容,并且还可以设置元素的 html 内容

        // 获取 p 元素的 html 内容
        console.log($("p").html());
        // 将 p 元素的 html 内容修改成:你好,世界
        $("p").html("你好,世界");
        
val()

获取 标签中的内容,也可以设置

        // 获取 input 标签内容
        $(".input").val();
        // 设置 input 标签内容
        $(".input").val("请输入内容");
attr()

获取匹配元素的属性值或在设置匹配元素的一个或多个属性。

    
    
removeAttr()

为匹配的元素集合中的每个元素中移除一个属性

        // 移除 alt 属性
        $("img").removeAttr("alt")
DOM 插入并包裹现有内容

wrap()

在每个匹配的元素外层包上一个 html 元素

unwrap()

将匹配集合的父级元素删除,保留自身原本的位置

    

hello

hello

“)// 两个 p 标签都会添加父标签
// 去掉第二个 p 标签的父标签 div
$(“p:eq(1)”).unwrap();

wrapAll()

在所有匹配元素的外面包裹一个 html 结构

    

hello

hello

hello

wrapInner()

在匹配元素里的内容上外包一层 html 结构

    

hello

hello

hello

DOM 插入现有元素内

append()

在一个现有元素内插入新内容

prepend()

将参数插入到每个匹配元素的前面(元素内部)

   

helloWorld

DOM 插入现有元素外

在一个现有元素外插入内容

after()

在匹配元素集合中的每个元素后面插入参数所指定的内容,作为其兄弟节点。

before()

在匹配元素集合中的每个元素前面插入参数所指定的内容,作为其兄弟节点。

   

helloWorld

DOM 移除

从 DOM 树中删除元素

empty()

从 DOM 移除集合中所有匹配元素的索引子节点

remove()

将匹配元素从 DOM 删除

     
  • 第一个 li 标签
  • 第二个 li 标签
  • 第三个 li 标签
  • 第四个 li 标签
DOM 替换

从 OM 树移除已经有的内容并将其替换成新内容

replaceAll()

用集合匹配元素替换每个目标元素

replaceWith()

用提供的内容替换集合中所有匹配的元素

    

helloWorld

helloWorld

CSS 操作

css()获取和设置匹配元素的样式




    
    
    Document
    
    


    
测试 jQuery 的 css 方法

height(),width()

获取元素的当前高度值宽度值或者设置元素的高度值宽度值

    
测试 jQuery 的 css 方法

innerHeight(),innerWidth()

为元素计算当前高度值和宽度值,包括 padding,但是不包括 border




    
    
    Document
    
    


    
测试 jQuery 的 css 方法

outerHeight(),outerWidth()

获取元素的当前宽度值和高度值,包括 padding,border 和选择性的 margin




    
    
    Document
    
    


    
测试 jQuery 的 css 方法

offset()获取元素当前坐标

获取当前元素坐标,或设置元素当前坐标,坐标相对于文档




    
    
    Document
    
    


    

position()

获取当前元素的坐标,是相对于父级元素的坐标

这个方法可以获取元素相对于父元素的偏移位置。offset 是相对于文档的位置,

因此当把一个元素放到同一个容器里面的另一个元素附近时,使用 position()会更好。

scrollLeft(),scrollTop()

获取元素的当前水平和垂直滚动条的位置

设置每个匹配元素的水平滚动条和垂直滚动条位置




    
    
    Document
    
    


    
测试滚动
helloworld

事件

绑定事件处理器

on()

在选定的元素上绑定一个或者多个事件处理函数

    
     

事件委托效果




    
    
    Document
    


    
  • 第一个 li 标签
  • 第二个 li 标签
  • 第三个 li 标签
  • 第四个 li 标签
one()

为元素的事件添加处理函数,处理函数在每个与那苏上每种事件类型最多执行一次

        // 点击按钮控制台打印,点击按钮,只会执行一次
        $(".btn").one("click",function(){console.log("点击了按钮");
            
        })
off()

移除一个事件处理函数,主要是移除 on 事件处理器

       // 点击按钮控制台打印,点击按钮,只会执行一次
        function myFn(){console.log("点击了按钮");
        }
        $(".btn").on("click",myFn);
        // 移除点击事件
        $(".btn").off("click",myFn);

鼠标事件

方法 方法描述
click() 为 js 的 ”click” 事件绑定一个处理器,或者触发元素上的 ”click” 事件
hover() 将事件函数绑定到匹配元素上,分辨是当鼠标移入指针进入和离开元素时被执行
mouseenter() 鼠标进入事件
mouseleave() 鼠标离开事件
mousemove() 鼠标滑动事件
mouseover() 鼠标进入事件(支持事件冒泡)也就是是从父元素进入子元素会触发
mouseout() 鼠标离开事件支持冒泡事件)也就是说离开子元素时也会触发



    
    
    Document
    
    


    
    

表单事件

focus()

为 js 的 ”focus” 事件绑定一个获取焦点处理函数,或者触发元素上的 ”focus” 事件

blur()

为 ”blur” 事件绑定一个失去焦点处理函数

change()

为 js 的 ”change” 事件绑定一个表单改变处理函数

submit()

当用户提交表单时,就会在这个表单元素上触发 submit 事件,只能绑定在 form 元素上




    
    
    Document
    


    
姓名

键盘事件

keydown()

添加键盘按下事件

keypress()

添加键盘事件

keyup()

添加键盘抬起事件




    
    
    Document
    


    
    
    

浏览器事件

resize()

添加浏览器窗口发生变化触发事件

scroll()

浏览器滚动事件




    
    
    Document
    
    


    

测试浏览器事件

测试浏览器事件

测试浏览器事件

测试浏览器事件

测试浏览器事件

事件对象

event.type: 获取事件类型

event.target: 获取当前元素对象

event.currentTarget: 获取当前元素对象

event.preventDefault(): 如果调用这个事件,默认事件行为将不再触发

event.stopPropagation(): 防止事件,冒泡到 DOM 树上,也就是不触发任何前辈元素上的事件处理函数。




    
    
    Document
    
    


    

target: 指向触发事件元素,currentTarget:指向添加事件的元素

当点击按钮时效果是jQuery

阻止默认事件,比如 a 链接的跳转

    百度
    

阻止冒泡




    
    
    Document
    
    


    百度
    

遍历

map():通过一个函数匹配当前集合中每个元素,产生一个新的 jQuery 对象

each(): 遍历一个 jQuery, 为每个匹配元素执行一个函数

get(): 通过 jQuery 对象获取一个对应的 DOM 元素

each 和 map 的返回值不同,map 返回一个新的数组,each 返回原始数组




    
    
    Document
    


    
  • 第一个 li 标签
  • 第二个 li 标签
  • 第三个 li 标签
  • 第四个 li 标签
  • 第五个 li 标签

children(): 获得直接子元素可以传递一个选择器参数

find(): 寻找后代元素

next(): 获取元素紧邻的后面同级元素

parebt(): 获取元素的父元素

siblings(): 获取元素的兄弟元素,可以传一个选择器参数




    
    
    Document
    


    
  • 第一个 li 标签
  • 第二个 li 标签
    • 嵌套的第一个 li 标签
    • 嵌套的第二个 li 标签
    • 嵌套的第三个 li 标签
  • 第三个 li 标签
测试内容

动画

show():执行显示动画

hide(): 执行隐藏动画

fadeln(): 通过淡入的方式显示匹配元素

fadeOut(): 通过淡出的方式显示匹配元素

slideDown(): 用滑动动画显示一个元素

slideUp(): 用滑动动画隐藏一个元素




    
    
    Document
    
    


    

animate(): 执行自定义动画




    
    
    Document
    
    


    

原文地址: jQuery

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-11-04发表,共计11405字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)