web08.jQuery

jQuery

选择器

基本选择器

层次选择器

属性选择器

标签选择器

  • $(“标签名”)

id选择器

  • $("#id名")

class选择器

  • $(".类名")

群组选择器

  • $(“选择器1, 选择器2, … , 选择器n”);

层次选择器

层次选择器

  • M N 后代选择器,选择M元素内部后代N元素(所有N元素)
  • M > N 子代选择器,选择M元素内部子代N元素(所有第1级N元素)
  • M ~ N 兄弟选择器,选择M元素后面所有的同级N元素
  • M + N 相邻选择器,选择M元素相邻的下一个元素(M、N是同级元素)

属性选择器

E[attr] 选择元素E,其中E元素必须带有attr属性

E[attr = “value”] 选择元素E,其中E元素的attr属性取值是value

E[attr!= “value”] 选择元素E,其中E元素的attr属性取值不是value

E[attr ^= “value”] 选择元素E,其中E元素的attr属性取值是以“value”开头的任何字符

E[attr $=“value”] 选择元素E,其中E元素的attr属性取值是以“value”结尾的任何字符

E[attr *= “value”] 选择元素E,其中E元素的attr属性取值是包含“value”的任何字符

E[attr |= “value”] 选择元素E,其中E元素的attr属性取值等于“value”或者以“value”开头

E[attr ~= “value”] 选择元素E,其中E元素的attr属性取值等于“value”或者包含“value”

伪类选择器

1. “位置”伪类选择器

  • :first 选取某种元素的第一个
  • :last 选取某种元素的最后一个
  • :odd 选取某种元素中序号为“奇数”的所有元素,序号从0开始
  • :even 选取某种元素中序号为“偶数”的所有元素,序号从0开始
  • :eq(n) 选取某种元素的第n个,n是一个整数,从0开始
  • :lt(n) 选取某种元素中小于n的所有元素,n是一个整数,从0开始
  • :gt(n) 选取某种元素中大于n的所有元素,n是一个整数,从0开始

2. “子元素”伪类选择器

  • :first-child、:last-child、:nth-child(n)、:only-child

    • E:first-child 选择父元素下的第一个子元素(子元素类型为E,以下类同)
    • E:last-child 选择父元素下的最后一个子元素
    • E:nthchild(n)选择父元素下的第n个子元素或奇偶元素,n取值有3种:数字、odd、even,n从1开始
    • E:only-child 选择父元素下唯一的子元素,该父元素只有一个子元素
  • :first-of-type、:last-of-type、:nth-of-type(n)、:only-of-type

    • E:first-of-type 选择父元素下的第一个E类型的子元素
    • E:last-of-type 选择父元素下的最后一个E类型的子元素
    • E:nth-oftype(n)选择父元素下的第n个E类型的子元素或奇偶元素,n取值有3种:数字、odd、even
    • E:only-of-type 选择父元素下唯一的E类型的子元素,该父元素可以有多个子元素

3. “可见性”伪类选择器

  • :visible 选取所有可见元素
  • :hidden 选取所有不可见元素

4. “内容”伪类选择器

  • :contains(text) 选取包含指定文本的元素
  • :has(selector) 选取包含指定选择器的元素
  • :parent 选取含有文本或者子元素的元素
  • :empty 选取不含有文本以及子元素的元素,即空元素

5. “表单”伪类选择器

  • :input 选取所有input元素
  • :button 选取所有普通按钮,即
  • :submit 选取所有提交按钮,即
  • :reset 选取所有重置按钮,即
  • :text 选取所有单行文本框
  • :textarea 选取所有多行文本框
  • :password 选取所有密码文本框
  • :radio 选取所有单选框
  • :checkbox 选取所有复选框
  • :image 选取所有图片域
  • :file 选取所有文件域

6. “表单属性”伪类选择器

  • :checked 选取所有被选中的表单元素,一般是单选框或复选框
  • :selected 选取被选中的表单元素的选项,一般是下拉列表
  • :enabled 选取所有可用的表单元素
  • :disabled 选取所有不可用的表单元素
  • :read-only 选取所有只读的表单元素
  • :focus 选取所有获得焦点的表单元素

7.其他伪类选择器

  • :not(selector) 选取除了某个选择器之外的所有元素
  • :animated 选取所有正在执行动画的元素
  • :root 选取页面根元素,即html元素
  • :header 选取h1~h6的标题元素
  • :target 选取锚点元素
  • :lang(language) 选取特定语言的元素

过滤方法

类名过滤:hasClass()

  • $().hasClass(“类名”)

下标过滤:eq()

  • $().eq(n)

判断过滤:is()

  • $().is(selector)

反向过滤:not()

  • $().not(selector或fn)

选择器过滤filter

  • $().filter(selector)

has()方法

  • $().has(selector)

查找祖先元素

parent()

  • $.parent(selector)

parents()

  • $().parents(selector)

parentsUntil()

  • $().parentsUntil(selecotr)

查找后代元素

children()

  • $().children(selector)

find()

  • $().find(selector)

向前查找兄弟元素

prev()

  • $().prev()

prevAll()

  • $().prevAll(selector)

prevUntil()

  • $().prevUntil(selector)

向后查找兄弟元素

next()

  • $().next()

nextAll()

  • $().nextAll(selector)

nextUntil()

  • $().nextUntil(selector)

查找所有兄弟元素

$().siblings(selector)

DOM

1. 创建元素

2. 插入元素

3. 删除元素

4. 复制元素

5. 替换元素

6. 包裹元素

7. 遍历元素

DOM创建元素

1. prepend()和prependTo()

  • $(A).prepend(B)表示往A的内部开始处插入B
  • $(A).prependTo(B)表示将A插入到B内部的开始处

2. append()和appendTo()

  • $(A).append(B)表示往A的内部末尾处插入B
  • $(A).appendTo(B)表示将A插入到B内部的末尾处

3. before()和insertBefore()

  • $(A).before(B)表示往A的外部前面插入B
  • $(A).insertBefore(B)表示将A插入到B外部的前面

4. after()和insertAfter()

  • $(A).after(B)表示往A的外部后面插入B
  • $(A).afterBefore(B)表示将A插入到B外部的后面

删除元素

remove()

  • $().remove()

detach()

  • $().detach()

empty()

  • $().empty()

复制元素

$().clone(boolean)

    1. true:表示不仅复制元素,并且还会复制元素所绑定的事件。
    1. false:表示仅仅复制元素,但不会复制元素所绑定的事件。

替换元素

replaceWith()

  • $(A).replaceWith(B)表示使用B来替换A

replaceAll()

  • $(A).replaceAll(B)表示用A来替换B

包裹元素

wrap()

  • $(A).wrap(B)表示将A元素使用B元素包裹起来

wrapAll()

  • $(A).wrapAll(B)说明所有A被一个B包裹

wrapInner()

  • $(A).wrapInner(B)表示将A元素“内部所有元素以及文本”使用B元素包裹起来

遍历元素

使用each()方法轻松实现元素的遍历操作

语法:

  • $().each(function(index, element){
    ……
    })

DOM属性操作

获取属性

  • $().attr(“属性名”)

设置属性

  • //设置一个属性$().attr(“属性”, “取值”)
  • //设置多个属性$().attr({“属性1”: “取值1”, “属性2”:“取值2”, …, “属性n”:“取值n”})

删除属性

  • $().removeAttr(“属性名”)

prop()方法

  • 如checked、selected或disabled等建议使用prop()来操作其他的属性都建议使用attr()来操作

DOM样式操作

CSS属性操作

  • $().css(“属性名”)

设置属性

  • //设置一个属性$().css(“属性”, “取值”)
  • //设置多个属性$().css({“属性1”:“取值1”, “属性2”:“取值2”, …, “属性n”:“取值n”})

CSS类名操作

    1. 添加class
    • $().addClass(“类名”)
    1. 删除class
    • $().removeClass(“类名”)
    1. 切换class
    • $().toggleClass(“类名”)

其他样式操作

    1. width()和height()
    • width() width

    • height() height

      • $().width() //获取元素宽度
      • $().width(n) //设置元素宽度,n是一个整数,表示n像素
      • $().height() //获取元素高度
      • $().height(n) //设置元素高度,n是一个整数,表示n像素
    1. innerWidth()和innerHeight()
    • innerWidth() width + padding
    • innerHeight() height + padding
    1. outerWidth()和outerHeight()
    • outerWidth() width + padding + border
    • outerHeight() height + padding + border
  • 元素的位置

    • 1.offset()

      • $().offset().top
      • $().offset().left
    • 2.position()

      • $().position().top
      • $().position().left
    • 滚动条的距离

      • $().scrollTop() //获取滚动距离
      • $().scrollTop(n) //设置滚动距离,n是一个整数,表示n像素

DOM内容操作

html()

  • $().html() //获取html内容
  • $().html(“html内容”) //设置html内容

text()

  • $().text() //获取文本内容
  • $().text(“文本内容”) //设置文本内容

val()

  • $().val() //获取值
  • $().val(“值内容”) //设置值

鼠标事件

click 鼠标单击事件

mouseover 鼠标移入事件

mouseout 鼠标移出事件

mousedown 鼠标按下事件

mouseup 鼠标松开事件

mousemove 鼠标移动事件

事件基础

JavaScript的onload事件

  • window.onload = function(){
    ……
    }

jQuery的ready事件

  • $(document).ready(function(){
    ……
    })

ready事件的4种写法

  • $(document).ready(function(){
    ……
    })
  • jQuery(document).ready(function(){
    ……
    })
  • $(function(){
    ……
    })
  • jQuery(function(){
    ……
    })

深入了解jQuery的ready事件

  • window.onload只能调用一次,如果多次调用,则只会执行最后一个

键盘事件

keydown

keyup

表单事件

focus和blur

  • focus表示获取焦点时触发的事件
  • blur表示失去焦点时触发的事件

select

  • 选中“单行文本框”或“多行文本框”中的内容时,就会触发select事件

change

  • change事件常用于“具有多个选项的表单元素”。

  • 用处

    • 单选框选择某一项时触发
    • 复选框选择某一项时触发
    • 下拉菜单选择某一项时触发

编辑事件

编辑事件

  • .contextmenu

    • 禁用鼠标右键

滚动事件

滚动事件

  • $().scroll(function(){
    ……
    })

绑定事件

on()方法为“已经存在的元素”绑定事件

on()方法为“动态创建的元素”绑定事件

解绑事件

$().off(type)

合成事件

合成事件

  • $().hover(fn1, fn2)

一次事件

  • $().one(type, fn)

自定义事件

trigger()方法来触发自定义事件

事件对象

event.type 事件类型

event.target 事件元素

event.which 鼠标左、中、右键

event.pageX、event.pageY 鼠标坐标

event.shiftKey 是否按下shift键

event.ctrlKey 是否按下ctrl键

event.altKey 是否按下alt键

keyCode 键码值

this

this始终指向触发当前事件的元素。

index()方法

$().index()

链式调用

链式调用一般针对的是同一个jQuery对象

jQuery动画

显示与隐藏

  • $().show(speed, fn)
  • $().hide(speed, fn)

toggle()

  • $().toggle(speed, fn)

淡入与淡出

fadeIn()和fadeOut()

  • $().fadeIn(speed, fn)
  • $().fadeOut(speed, fn)

fadeToggle()

  • $().fadeToggle(speed, fn)

fadeTo()

  • $().fadeTo(speed, opacity, fn)

滑上与滑下

slideUp()和slideDown()

  • $().slideUp(speed, fn)
  • $().slideDown(speed, fn)

slideToggle()

  • $().slideToggle(speed, fn)

自定义动画

简单动画

  • $().animate(params, speed, fn)

累积动画

  • 结合+=和-=这两个运算符来实现累积动画
  • $("#box2").animate({ “width”: “+=100px”, “height”: “+=100px” },

回调函数

队列动画

$().animate().animate().…….animate()

停止动画

$().stop(stopAll, goToEnd)

  • stop() 等价于stop(false, false),仅停止当前动画,后面的动画还可以继续执行
  • stop(true) 等价于stop(true,false),停止当前动画,并且停止后面的动画
  • stop(true, true) 当前动画继续执行,只停止后面的动画
  • stop(false, true) 停止当前动画,跳到最后一个动画,并且执行最后一个动画

延迟动画

$().delay(speed)

判断动画状态

if(!$().is(":animated"))

{
//如果不处于动画状态,则添加新的动画,:animated是一个伪类选择器,表示选取所有正在执行动画的元素
}

load()方法

load(url,data,function(response,status,xhr))

url 必选参数,表示被加载的页面地址

data 可选参数,表示发送到服务器的数据

fn 可选参数,表示请求完成后的回调函数

response - 包含来自请求的结果数据

status - 包含请求的状态(“success”, “notmodified”, “error”, “timeout” 或 “parsererror”)

xhr - 包含 XMLHttpRequest 对象

说明

    1. 在load()方法中,无论AJAX请求是否成功,只要当请求完成(complete)后,回调函数(fn)都会被触发
    1. load()方法一般只会用到第1个参数,很少会用第2和第3个参数。
    1. load()一般是用来向服务器请求静态的数据文件。在实际开发中,如果需要传递一些参数给服务器中的页面,应该使用.get()、.post()或$.ajax()。

$.get()方法

$.get(url, data, fn, type)

  • url 必选参数,表示被加载的页面地址
  • data 可选参数,表示发送到服务器的数据
  • fn 可选参数,表示请求成功后的回调函数
  • type 可选参数,表示服务器返回的内容格式

$.post()方法

$.post(url, data, fn, type)

  • url 必选参数,表示被加载的页面地址
  • data 可选参数,表示发送到服务器的数据
  • fn 可选参数,表示请求成功后的回调函数
  • type 可选参数,表示服务器返回的内容格式

$.getJSON()方法

$.getJSON(url ,data, function(data){

……
})

$.getScript()方法

$.getScript(url, fn)

  • url 必选参数,表示被加载的JavaScript文件路径
  • fn 可选参数,表示请求成功后的回调函数

优点

    1. 异步跨域加载JavaScript文件。
    1. 可避免提前加载JavaScript文件,只有需要的时候才会去加载。这样可以减少服务器和客户端的负担,加快页面加载速度。

$.ajax()方法

$.ajax(options)

  • url 被加载的页面地址
  • type 数据请求方式,“get"或"post”,默认为"get"
  • data 发送到服务器的数据,可以是字符串或对象
  • dataType 服务器返回数据的类型,如:text、html、script、json、xml
  • beforeSend 发送请求前可以修改XMLHttpRequest对象的函数
  • complete 请求“完成”后的回调函数
  • success 请求“成功”后的回调函数
  • error 请求“失败”后的回调函数
  • timeout 请求超时的时间,单位为“毫秒”
  • global 是否响应全局事件,默认为true(即响应)
  • async 是否为异步请求,默认为true(即异步)
  • cache 是否进行页面缓存,true表示缓存,false表示不缓存
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值