JaveScript学习笔记(3)
jQuery入门(1)
jQuery是指JavaScript和Query(查询),是辅助JavaScript开发的js类库
使用 jQuery 获取页面标签对象
- 使用js原生函数获取页面标签对象并绑定单击事件
1 | <script type="text/javascript"> |
- 使用jQuery提供的方法获取标签对象并绑定单击事件
1 | <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script> |
使用jQuery绑定事件的步骤依然是两步:1. 获取标签对象; 2. 标签对象绑定事件
tips:值得注意的是使用jQuery前需要将文档导入,这一步必须单独交给一个<script>标签去完成,因为一个<script>标签不能同时拥有src属性和内容,故带有src属性的标签就意味着浏览器会忽视其标签内内容。
tips:src属性既可以引用本地的 js 文档也可以使用URL的形式指向外部 js 资源,详见《JavaScript高级程序设计(第4版)》12~13页。
jQuery的核心函数
通过上面的例子可以发现,在使用jQuery定义的一些方法时 $ 是经常会使用到的一个符号,那么这个 $ 是什么呢?
在jQuery中 $ 代表的是一个函数,可以在jQuery源码中(大概在文档最底端)发现一行这样的代码 window.jQuery = window.$ = jQuery 即将 jQuery 函数赋值给了 $
JQuery源码还是很重要的,有时间还是得好好看看滴~
这里的 jQuery 函数也即 $ 函数就是jQuery的核心函数能够通过它完成非常多的任务
| 序号 | 参数 | 功能 |
|---|---|---|
| 1 | 函数 | 页面加载完成之后自动,相当于原生的window.onload |
| 2 | HTML标签字符串 | 将这个标签字符串转换为一个标签并,可以通过 appandTo() 函数将其添加入页面文档中 |
| 3 | 选择器字符串 | $("#<id属性值>") id选择器,根据id查询标签对象 $("<标签名>") 标签名选择器,根据标签名查询标签对象 $(".<class属性值>") 类型选择器,可以根据class属性选择标签对象。这非常类似于css的选择器 |
| 4 | DOM对象 | 会把DOM对象转化为jQuery对象返回 |
示例:在页面中插入一个span标签
1 | $('<span>这是一个用jQuery添加的标签</span>').appendTo('body'); |
示例:通过id选择标签对象
1 | const $obj_bt = $('#btnId'); |
示例:
1 | const obj_bt = document.getElementById('bthId'); |
运行结果:
jQuery对象
-
jQuery对象和dom对象的区别(从获得方式上看)
dom对象是通过js原生的
getElementById()、getElemetsByXX()获取的标签对象jQuery对象是 (1)通过 jQuery 提供的API创建的对象,如用HTML标签字符串加上核心函数获取的对象;(2) 使用jQuery包装的DOM对象;(3) 使用jQuery提供的选择器获取的标签对象。
-
jQuery对象的本质
jQuery对象实际上是DOM数组 + jQuery提供的一系列功能函数
jQuery选择器
基本的jQuery选择器:
| 类型 | 语法 | 功能 |
|---|---|---|
| 标签名选择器 | $(“<标签名>”); | 按标签名查询 |
| ID选择器 | $(“#<id值>”) | 按id属性查询 |
| 类名选择器 | $(“.<类名>”) | 按class属性查询 |
| “星号”选择器(匹配所有) | $(“*”) | 查询所有标签对象 |
| 组合选择器 | $(“selector1, selector2, … , selectorN”) | 查询满足任意条件的标签 |
注意得到的数组的顺序是按网页文档的顺序排列的
tips:可以使用类似CSS中选择器的方法设计“与”逻辑
层级选择器
| 类型 | 语法 | 功能 |
|---|---|---|
| 后代选择器 | $(“<基本选择器(祖先)> < 空格> <基本选择器(后代)>”) |
选择祖先节点下满足条件的后代标签对象 |
| 子对象选择器 | $(“<基本选择器(parent)> < > (大于号)> <基本选择器(child)>”) |
选择父标签的直接子标签对象 |
| 邻居选择器 | $(“<基本选择器(prev)> < + (加号)> <基本选择器(next)>”) |
选择紧邻在prev后面的next标签元素 |
| 兄弟选择器 | $(“<基本选择器(prev)> < ~ (波浪号) > <基本选择器(silblings)>”) |
选择prev标签对象后面的所有兄弟标签对象(不包括兄弟节点的子节点) |
基本过滤器
| 类型 | 语法 | 功能 |
|---|---|---|
| 首尾过滤器 | $(“<选择器> <:first/last>”) |
获取选择器匹配到的第一个/最后一个元素 |
| 去除过滤器 | $(“<选择器> <:not(selector)>”) |
在通过选择器获取的对象中去除selector匹配的标签对象 |
| 索引过滤器 | $(“<选择器> <:even/odd/eq/gt/lt>”) |
匹配选择器匹配到的标签对象中索引 偶数/奇数/匹配/大于/小于 的标签对象 |
| 标题选择器 | $(“<选择器> <:header>”) |
匹配选择器匹配到的标签对象中的所有标题 (h1,h2…) 对象 |
| 动画选择器 | $(“<选择器> <:animated>”) |
匹配正在执行动画的选择器 |
内容过滤器
| 类型 | 语法 | 功能 |
|---|---|---|
| 文本过滤器 | $(“<选择器> <:contains(text)>”) |
匹配包含给定文本的元素 |
| 空内容过滤器 | $(“<选择器> <:empty>”) |
匹配不包含子元素或者文本的空元素 |
| 有内容过滤器 | $(“<选择器> <:parent>”) |
匹配包含子元素或者文本的元素 |
| 包含过滤器 | $(“<选择器> <:has(selector)>”) |
匹配选择器匹配的标签中包含有selector匹配的标签对象 |
属性过滤器
| 类型 | 语法 | 功能 |
|---|---|---|
| 属性过滤器 | $(“<选择器> <[<属性>]>”) |
匹配包含有给定属性的标签对象 |
| 属性值过滤器 | $(“<选择器> <[<属性> = <value>]>”) |
匹配包含给定属性并且值为给定值 ‘value’ 的标签对象 |
| 属性值逆过滤器 | $(“<选择器> <[<属性> != <value>]>”) |
匹配不包含给定属性值或者包含但值不为 ‘value’ 的标签对象 |
| 属性值模糊过滤器 | /* = |
匹配属性值以 ‘value’ 开头/结尾/包含 的标签对象 |
| 复合属性过滤器 | $(“<选择器> <[selector_1] [selector_2]...[selector_n]>”) |
匹配属性值同时满足所有属性选择器的标签元素(区别于基本选择器中的组合选择器) |
表单过滤器
| 类型 | 语法 | 功能 |
|---|---|---|
| input过滤器 | $(“<选择器> <:input>”) |
匹配所有input,textarea,select和button元素 |
| 表单类型过滤器 | $(“<选择器> <:<type类型名>>”) |
例如text匹配所有的单行文本框(type=“text”)标签对象… |
| 可用性过滤器 | $(“<选择器> <:enabled/disabled>”) |
匹配所有可用/不可用的表单对象(disabled属性) |
| 选中过滤器 | $(“<选择器> <:checked>”) |
匹配所有被选中的表单对象(一般为单选或复选框对象) |
| 不可见过滤器 | 、$(“<选择器> <:hidden>”) |
匹配所有不可见(display:none)或表单中type: hidden 的隐藏域 标签元素 |
jQuery的一些方法
| 方法 | 功能 |
|---|---|
| val() | 设置和获取表单的value属性 |
| each(function(){ <函数体>}) | 遍历jQuery的所有元素并执行function,在function中的this对象就是当前jQuery解包后的dom对象 |
jQuery对象筛选
| 函数 | 功能 |
|---|---|
| equ() | 获取匹配索引的元素 |
| first() | 获取第一个对象 |
| last() | 获取最后一个对象 |
| filter(<选择器>) | 进一步过滤元素(留下匹配) |
| is(<选择器>) | 判断是否有匹配的元素(有即保留) |
| has(<选择器>) | 保留有子元素匹配选择器的元素 |
| not(<选择器>) | 删除匹配选择器的元素 |
| children(<选择器>) | 返回匹配选择器的所有子元素 |
| find(<选择器>) | 返回匹配选择器的所有后代元素 |
| next() | 返回取得每一个匹配选择器的标签的紧邻的后一个兄弟元素 |
| nextAll() | 返回当前元素之后的所有同辈元素 |
| nextUntil(<选择器>) | 返回当前元素往后到匹配选择器的元素为止的所有元素 |
| parent() | 返回当前元素的父元素 |
| prev() | 返回取得每一个匹配选择器的标签的紧邻的前一个兄弟元素 |
| prevAll() | 返回当前元素之前的所有同辈元素 |
| prevUntil(<选择器>) | 返回当前元素之前到匹配选择器的元素为止的所有元素 |
| siblings(<选择器>) | 返回当前元素所有匹配选择器的兄弟元素 |
| add(<选择器>) | 把选择器匹配到的所有元素添加到当前的jQuery对象中然后返回 |




.jpg)
.jpg)
.jpg)