jQuery基础

写在前面

参考文献:莫振杰《从0到1:jQuery快速上手》

简介

与JS的关系:

JS是原料,JQ是半成品。

简单理解:JQ是基于JS的。

但是,JQ更加简洁高效。

JQ的优势:

代码简洁

完美兼容

轻量级

强大的选择器

完善的Ajax

丰富的插件

JQ的使用:

1.HTML文件里面,在head/body标签内,使用Script标签引入文件路径即可。

2.使用CDN链接,在JQ官网有提供 - 推荐

基础选择器

什么是选择器?

一个让你选择页面中内容的东西,这个内容一般都是元素

JQ选择器优势:

完全继承了CSS选择器,方便开发。

你可以忘记JS中的选择器,但是CSS选择器对于每一个页面开发人员来说都是必备的技能。

基础选择器分类:

基本选择器

层次选择器

属性选择器

基本选择器

基本选择器包含很多选择器内容,但是语法都是统一的。

注意,基本选择器,最后都是为了操作元素

语法:

$("选择器")

解释:

$:相当于jQuery,此后的$都代表着jQuery的意思。

选择器:也就是下面的各种选择器。

元素选择器:

元素,即DOM节点中的DOM元素。

语法:$("div"),其中div就是DOM元素。

但是,获取到的结果是一个jQuery对象,jQuery对象跟DOM对象要区分开来,下同。

id选择器:

id选择器,即选中某个id的DOM元素。

语法:$("#id"),必须要加“#”。

class选择器:

class选择器,即选中某个class的DOM元素。

语法:$(".class"),必须要加“.”。

以上都是选择单个DOM元素的,下面就是选择多个DOM元素一起操作了。

群组选择器:

语法:$("div, p, span, .class, #id"),是上面三种的集合

注意,里面可以是元素,也可以是class选择器,更可以是id选择器。

上面都是直接选择DOM元素的,下面就是通过关系选择元素了。

层次选择器

常见的层次:父子、后代、兄弟、相邻

语法:$("层次选择器")

层次选择器:

M N:后代选择器,所有N元素,不看层级关系

M>N:子代选择器,所有第一级N元素,看层级关系

M~N:兄弟选择器,后面所有同级N元素

M+N:相邻选择器,相邻的下一个元素,M和N要同级

补充:这些方法都可以使用后续提到的查找方法替代。

例子:

$("div p"),div内部的所有P元素

$("div>p"),div内部的儿子P元素

$("div~p"),div后面所有同级P元素

$("div+p"),div的下一个同级P元素

补充:最后一个常用于做底部栏,比如说这种:

属性选择器

属性,即元素的属性。

属性选择器,即通过“元素的属性”来选择元素。

元素与属性的关系:

下面以E表示元素,以attr表示属性,value表示属性值

E[attr]:包含attr属性

E[attr = "value"]:包含attr属性,且属性值等于value

E[attr != "value"]:包含attr属性,且属性值不等于value

E[attr ^= "value"]:包含attr属性,且属性值以“value”开头

E[attr $= "value"]:包含attr属性,且属性值以“value”结尾

E[attr *= "value"]:包含attr属性,且属性值包含“value”

E[attr |= "value"]:包含attr属性,且属性值等于“value”或以“value”开头

E[attr ~= "value"]:包含attr属性,且属性值等于“value”或包含“value”

上面已经分开四大类了,按照类别去记忆即可。

例子:

$("div[class]")

$("input[type = 'checkbox']")

$("input[type != 'checkbox']")

注意,里面的属性值是用单引号,为啥?

$("div[class ^= 'nav']")

$("div[class $= 'nav']")

$("div[class *= 'nav']")

初次之外,你还可以:

$("div[id][class ^= 'nav']")

拼接使用,指的是带有id属性,并且class属性是以nav开头的div元素

选择器的作用之一:做CSS样式。

伪类选择器

复习:超链接伪类。

:link

:visited

:hover

:active

语法:

$("E:伪类选择器")

伪类选择器分类:

位置类

子元素

可见性

内容

表单

表单属性

位置类:

位置,一般都是在页面中出现的顺序。

但是,这个选择器一般都需要父元素

语法及含义:

:first:第一个元素

:last:最后一个元素

:odd:奇数所有元素,从0开始

:even:偶数所有元素,从0开始

:eq(n):选取第n个元素,从0开始

:lt(n):选取小于n的所有元素,从0开始

:gt(n):选取大于n的所有元素,从0开始

使用:$("元素E:伪类选择器")

例子:$("li:first")

子元素:

含义:选择某一个元素下的子元素,是最常用的操作

使用:$("E:子元素选择器")

类别:

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

:first-of-type、:last-of-type、:nth-of-type(n)、:only-of-type

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

含义:第一个子元素、最后一个子元素、第n个子元素或奇偶元素(下面详细说)、唯一的子元素

注意:

nth-child(n)中的n有三种取值,分别是数字、odd、even。

但是,不管是什么取值,下标都是从1开始,而不是从0开始

nth-of-child(n)同理。

使用场景:给每个li添加不同的样式。

如果我们给每一个li都加上class或者id,会影响页面的性能,也不利于后期维护。

而使用了“子元素”伪类选择器,可以使HTML结构更加清晰,并且使得结构与样式分离,更利于后期维护和SEO。

重点:“子元素”伪类选择器特别适合操作列表的不同样式。

:first-of-type、:last-of-type、:nth-of-type(n)、:only-of-type:

别看这两者看着很像,但其实两者还是有不小的区别的。

含义:第一个E类型的子元素、最后一个E类型的子元素、第n个E类型的子元素或者奇偶元素、唯一E类型的元素。

注意:

nth-of-type(n)的n有三种取值,分别是数字、odd、even。

但是,不管是什么取值,下标都是从1开始,而不是从0开始

两者区别:

第一类选取的是child,也就是子元素,不区分类型。

第二类选取的是type,也就是类型,区分类型。

一般我们只用第一类。

可见性

可见性只有两种:可见与不可见。

使用:$("E:可见性伪类选择器")

语法与含义:

:visible:选取所以可见元素

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

不可见:定义了display: none的元素

内容:

什么是内容?

元素的内部,就是内容。

这里的内容包含了内部文本、子元素。

使用:$("E:内容伪类选择器")

语法与含义:

:contains(text):选取包含指定文本的元素

:has(selector):选取包含指定选择器的元素

:empty:选取不含有文本或子元素(即内容)的元素,即空元素

:parent:含有文本或子元素(即内容)的元素,即元素只要有内容或文本,就会被选中

表单:

含义:专门用于操作表单元素,其实主要还是操作input元素的。

使用:$("E:表单伪类选择器")

语法与含义:

:input:选取所有input元素

:button:选取所有普通按钮

:submit:选取所有提交按钮

:reset:选取所有重置按钮

:text:选取所有单行文本框

:textarea:选取所有多行文本框

:password:选取所有密码文本框

:radio:选取所有单选框

:checkbox:选取所有复选框

:image:选取所有图片域

:file:选取所有文件域

可以看到,一共是5类。

表单属性:

含义:根据表单元素的属性来选取的伪类选择器。

使用:$("E:表单属性伪类选择器")

语法与含义:

:checked:选中所有被选中的表单元素,一般是单选、复选框

:selected:选中被选中的表单元素的选项,一般是下拉列表

:enabled:选取所有可用的表单元素

:disabled:选取所有不可用的表单元素

:read-only:选取所有只读的表单元素

:focus:选取所有获得焦点的表单元素,注意这里没有:blur

其他伪类选择器:

含义:其他用途的伪类选择器。

使用:$("E:其他伪类选择器")

语法与含义:

:not(selector):选取除了某个选择器之外的所有元素

:animated:选取所有正在执行动画的元素

:root:选取页面根元素,即html元素

:header:选取h1-h6的标题元素

:target:选取锚点元素(也就是a标签)

:lang(language):选取特定语言的元素

注意:一般只用前面两个。

写在最后

OK,第一篇就写到这里。

下期讲DOM和事件操作。

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值