jQuery基础—高级详细知识笔记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jQuery基础—高级详细知识笔记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含9198字,纯文字阅读大概需要14分钟。
内容图文
![jQuery基础—高级详细知识笔记](/upload/InfoBanner/zyjiaocheng/1006/b58d6389e0da4f9fafd571fb984bd8bc.jpg)
jQuery基础
一、概述
1、什么是jQuery?
jQuery,顾名思义,就是JavaScript和查询(Query),它是辅助JavaScript开发的js类库。
2、特点
它的核心思想是Write less, do more(写的更少,做的更多),所以它实现了很多浏览器的兼容问题,如今已经成为最流行的JavaScript库。
二、jQuery的定义方式
1、如何导入jQuery.js
首先,我们要先导入jQuery的js文件才能使用里面的内容(必须)。通过网站 https://jquery.com/download/ 下载得到其js文件,放入创建好的Module文件夹内。
其中,jQuery-xxx.js 与 jQuery-xxx.min.js区别:
1.jQuery-xxx.js:开发版本。有良好的缩进和注释,体积较大。
2. jQuery-xxx.min.js:生产版本。程序中使用,没有缩进。体积小一些,程序加载更快。
使用时,通过script标签导入:
<script src="../jQueryModule/jQuery3.6.0verson.js">
//标签内不能再定义内容
</script>
2、jQuery核心函数
$符号的含义:
美元符号 $ 是jQuery的核心函数,能完成jQuery的很多功能。
$()就是调用,
$这个函数。
我们可以通过代码测试获得:
<script>
$function(){
alert($);
}
</script>
得到的结果如下:
jQuery核心函数的四个作用:
1.传入参数为[函数]时,在文档加载完成后执行这个函数,相当于window.onload。
<script>
$(function (){
alert("页面加载完成之后,自动调用。");
});
</script>
2.传入参数为[HTML字符串]时,根据这个字符串创建元素节点(标签)对象。
<script>
//在body标签内添加一个div,div里面有一对span标签内容
$("<div>"+"<span>span--1</span>"+"</div>").appendTo("body");
</script>
3.传入参数为[选择器字符串]时,根据这个字符串查找元素节点(标签)对象。
- $("#id属性值"); id选择器,根据id查询标签对象。
- $(“标签名”); 标签名选择器,根据指定的标签名查询标签对象。
- $(".class属性值"); 类型选择器,可以根据class属性查询标签对象。
<script>
alert($("button").length);//2
</script>
<body>
<button>按钮1</button>
<button>按钮2</button>
</body>
4.传入参数为[DOM对象]时,将DOM对象包装为jQuery对象返回。
<script>
var btn01 = document.getElementById("btn1");
alert(btn01);//[object HTMLButtonElement]
alert($(btn01));//[object Object]转为jQuery对象返回
</script>
<body>
<button id="btn1">按钮1</button>
</body>
3、如何为按钮添加单击响应函数
- 使用jQuery查询到标签对象
- 使用标签对象.click( function() {} );
<script>
$(funciton(){
var $对象名 = $("标签名id");
对象名.click(function(){
alert("Hello World!");
});
});
</script>
<body>
<button id="标签名id">Click me!</button>
</body>
4、jQuery对象的本质
jQuery对象是DOM对象的数组 + jQuery提供的一系列功能函数。
5、区分jQuery对象和DOM对象
DOM对象
- 通过getElementById()查询出来的标签对象是DOM对象
- 通过getElementByName()查询出来的标签对象是DOM对象
- 通过getElementByTagName()查询出来的标签对象是DOM对象
- 通过createElement()方法创建的对象是DOM对象
jQuery对象
- 通过jQuery提供的API创建的对象,是jQuery对象
- 通过jQuery包装的DOM对象,也是jQuery对象
- 通过jQuery提供的API查询到的对象,是jQuery对象
使用上的区别
jQuery对象不能使用DOM对象的属性和方法
DOM对象也不能使用jQuery对象的属性和方法
6、DOM对象和jQuery对象的相互转换(重点)
①DOM对象转换为jQuery对象
- 先定义有DOM对象
- $(DOM对象),就可以转换成为jQuery对象
- 语法: var $obj = $(DOM对象);
②jQuery对象转换为DOM对象
- 先定义有jQuery对象
- jQuery对象[下标]取出相应的DOM对象
- 语法:var dom = $obj[下标];
三、jQuery选择器
1、基础选择器
1. 标签选择器(元素选择器)
* 语法: $("html标签名") 获得所有匹配标签名称的元素
2. id选择器
* 语法: $("#id的属性值") 获得与指定id属性值匹配的元素
3. 类选择器
* 语法: $(".class的属性值") 获得与指定的class属性值匹配的元素
4. 并集选择器:
* 语法: $("选择器1,选择器2....") 获取多个选择器选中的所有元素
2、层级选择器
1. 后代选择器
* 语法: $("A B ") 选择A元素内部的所有B元素
2. 子选择器
* 语法: $("A > B") 选择A元素内部的所有B子元素.
* 语法: $("A + B")匹配紧接在A元素后的B元素
* 语法: $("A ~ B")匹配A元素之后的所有B元素
3、基本过滤选择器
1. 首元素选择器
* 语法: :first 获得选择的元素中的第一个元素
2. 尾元素选择器
* 语法: :last 获得选择的元素中的最后一个元素
3. 非元素选择器
* 语法: :not(selector) 不包括指定内容的元素
4. 偶数选择器
* 语法: :even 匹配所有索引值为偶数的元素,从 0 开始计数
5. 奇数选择器
* 语法: :odd 匹配所有索引值为奇数的元素,从 0 开始计数
6. 等于索引选择器
* 语法: :eq(index) 匹配指定索引的元素
7. 大于索引选择器
* 语法: :gt(index) 匹配大于指定索引的元素
8. 小于索引选择器
* 语法: :lt(index) 匹配小于指定索引的元素
9. 标题选择器
* 语法: :header 获得标题(h1~h6)元素,固定写法
10.动画选择器
* 语法: :animated 匹配所有正在执行动画效果的元素
4、内容过滤选择器
1.文本选择器
* 语法: :contains(text) 匹配包含给定文本的元素
* 参数:text 一个用于查找的字符串
2.空选择器
* 语法: :empty 匹配所有不包含子元素或者文本的空元素
3.非空选择器
* 语法: :parent 匹配含有子元素或者文本的元素
4.含选择器所匹配的元素的元素选择器
* 语法: :has(selector) 匹配含选择器所匹配的元素的元素选择器
* 参数: selector 一个用于筛选的选择器
*
* 示例: 给p标签外的div标签添加一个text类<div><p>SELECTOR</p></div>【div:has(p).addClass("text")】
* 示例结果:<div class="text"><p>SELECTOR</p></div>
5、属性过滤选择器
1. 属性名称选择器
* 语法: $("A[属性名]") 包含指定属性的选择器
2. 属性选择器
* 语法: $("A[属性名 = '值']") 匹配所有包含指定的属性或属性不等于特定值的元素。
* 语法: $("A[属性名 != '值']") 匹配所有不含指定的属性或属性不等于特定值的元素。
3. 复合属性选择器
* 语法: $("A[属性名 = '值'][][]......") 包含多个属性条件的选择器
4.特定值开头选择器
* 语法: $(A[属性名 ^= '值']) 匹配给定的属性是以某些值开始的元素
5.特定值结尾选择器
*语法: $(A[属性名 $= '值']) 匹配给定的属性是以某些值结尾的元素
6、表单过滤选择器
表单标签
- :input
- :text
- :password
- :radio
- :checkbox
- :submit
- :reset
- :button
- :fire
- :hidden 匹配所有不可见的元素,或者为type为hidden的元素
表单对象属性
1. 可用元素选择器
* 语法: :enabled 获得可用元素
2. 不可用元素选择器
* 语法: :disabled 获得不可用元素
3. 选中选择器
* 语法: :checked 获得单选/复选框选中的元素
4. 选中选择器
* 语法: :selected 获得下拉框选中的元素
四、jQuery元素筛选
五、jQuery操作
1、属性操作
(注意:括号内不传参数是获取,传递参数是设置)
html(): 它可以设置和获取起始标签和结束标签中的内容。和DOM属性innerHTML一样。
text(): 它可以设置和获取起始标签和结束标签中的文本。和DOM属性innerText一样。
val(): 它可以设置和获取表单项的value属性值。和DOM属性value一样。
attr(): 可以设置和获取属性的值,不推荐操作 checked、readOnly、selected、disabled等等。此外,attr方法还可以操作非标准的属性,比如自定义属性:abc,obj…
removeAttr(): 删除属性
<script>
$(":checkbox:first").attr("abc","abcValue");
</script>
//结果得到
<input name="checkbox" type="checkbox" abc="abcValue">
prop(): 可以设置和获取属性的值,只推荐操作 checked、readOnly、selected、disabled等等。
removeProp(): 删除属性
2、CSS样式操作
1. addClass():
* 添加class样式。
2. removeClass():
* 删除class样式。
3. toggleClass():
* 有就删除,没有就添加样式。
* 示例:toggleClass("one"): 判断如果元素对象上存在class="one",则将属性值one删除掉。 如果元素对象上不存在class="one",则添加。
4.offset():
* 获取和设置元素样式
六、CRUD操作
CRUD即为增、删、改操作。
1. append():父元素将子元素追加到末尾
* 对象1.append(对象2):将对象2添加到对象1元素内部,并且在末尾
2. prepend():父元素将子元素追加到开头
* 对象1.prepend(对象2):将对象2添加到对象1元素内部,并且在开头
3. appendTo():
* 对象1.appendTo(对象2): 将对象1添加到对象2内部,并且在末尾
4. prependTo():
* 对象1.prependTo(对象2):将对象1添加到对象2内部,并且在开头
5. after():添加元素到元素后边
* 对象1.after(对象2): 将对象2添加到对象1后边。对象1和对象2是兄弟关系
6. before():添加元素到元素前边
* 对象1.before(对象2):将对象2添加到对象1前边。对象1和对象2是兄弟关系
7. insertAfter()
* 对象1.insertAfter(对象2):将对象2添加到对象1后边。对象1和对象2是兄弟关系
8. insertBefore()
* 对象1.insertBefore(对象2):将对象2添加到对象1前边。对象1和对象2是兄弟关系
9. remove():移除元素
* 对象.remove(): 将对象删除掉
10. empty(): 清空元素的所有后代元素。
* 对象.empty(): 将对象的后代元素全部清空,但是保留当前对象以及其属性节点
11.replaceWith() / replaceAll():
* a.replaceWith(b):用b替换a
* a.replaceWith(b):用a替换所有的b
七、原生JS事件和jQuery事件对比
1、什么时候触发?
jQuery的页面加载是浏览器的内核解析完页面的标签创建好DOM对象之后就会马上执行。而原生JS的页面加载除了要等浏览器内核解析完标签创建好DOM对象,还要等标签显示时需要的内容加载完成。
2、触发的顺序
在页面加载完成后jQuery先触发,之后再触发原生JS。
3、他们触发的次数?
原生JS只会执行最后一次的赋值函数(不能构成重载),jQuery则是把全部注册的function函数,依次顺序全部执行。
八、jQuery常用的事件
1、事件的冒泡
事件的冒泡指,父子元素同时监听同一个事件,当触发子元素的事件的时候,同一个事件也被传递到了父元素的事件里去响应。
那么如何阻止事件冒泡呢?
在子元素事件函数体内,添加 return false; 可以阻止事件的冒泡传递。
2、JavaScript事件对象
事件对象,是封装有触发的事件信息的一个JavaScript对象。
(我们重点关心的是怎么拿到这个JavaScript的事件对象以及使用。)
如何获取JavaScript事件对象呢?
在给元素绑定事件的时候,在事件的function(event)参数列表中添加一个参数,这个参数名,我们习惯取名为event。
这个event就是JavaScript传参事件处理函数的事件对象。
内容总结
以上是互联网集市为您收集整理的jQuery基础—高级详细知识笔记全部内容,希望文章能够帮你解决jQuery基础—高级详细知识笔记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。