JQuery入门学习及简单案例
2019-10-20 16:05
1306 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/q961250375/article/details/102649950
(2)JS对象转换为JQuery对象:
1.JQuery的概念
JQuery是基于javascript类库的框架, 它里面提供了许多javascript类库,和一些css样式表的封装, 使用起来比较方便,简化了用户与浏览器的交互, 提高了系统的性能和开发效率。
JQuery设计的宗旨是“write Less,DoMore”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
JQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。
2.JQuery快速入门
(1)JQuery下载,【百度网盘vdnc】。
①JQuery-xxx.js是开发版本,给开发人员看的,有良好的缩进和注释;
②JQuery-xxx.min.js是生产版本,在程序中使用,没有缩进和注释,体积小,程序加载快。
(2)导入JQuery到项目中。
(3)在页面引入JQuery库。
3.JQuery对象和JS对象的区别与转换
因为,JQuery对象和JS对象方法是不通用的,所以两者需要相互转换后才能使用对应的方法。
(1)JQuery对象转换为JS对象:
JS对象[索引]或
JS对象.get(索引)
(2)JS对象转换为JQuery对象:
$(JS对象)
4.JQuery的选择器
(1)基本选择器
举例 | 语法 | 描述 |
---|---|---|
标签选择器(元素选择器) | $("html标签名") |
获得所有匹配标签名称的元素 |
id选择器 | $("#id属性值") |
获得与指定id属性值匹配的元素 |
类选择器 | $(".class属性值") |
获得与指定的class属性值匹配的元素 |
并集选择器 | $("选择器1,选择器2....") |
获取多个选择器选中的所有元素 |
(2)层级选择器
举例 | 语法 | 描述 |
---|---|---|
后代选择器 | $("A B") |
选择A元素内部的所有B元素 |
子选择器 | $("A > B") |
选择A元素内部的所有B子元素 |
(3)属性选择器
举例 | 语法 | 描述 |
---|---|---|
属性名称选择器 | $("A[属性名]") |
包含指定属性的选择器 |
属性选择器 | $("A[属性名='值']") |
包含指定属性等于指定值的选择器 |
复合属性选择器 | $("A[属性名='值'][]...") |
包含多个属性条件的选择器 |
(4)过滤选择器
举例 | 语法 | 描述 |
---|---|---|
首元素选择器 | :first |
获得选择的元素中的第一个元素 |
尾元素选择器 | :last |
获得选择的元素中的最后一个元素 |
非元素选择器 | :not(selector) |
不包括指定内容的元素 |
偶数选择器 | :even |
偶数,从 0 开始计数 |
奇数选择器 | :odd |
奇数,从 0 开始计数 |
等于索引选择器 | :eq(index) |
指定索引元素 |
大于索引选择器 | :gt(index) |
大于指定索引元素 |
小于索引选择器 | :lt(index) |
小于指定索引元素 |
标题选择器 | :header |
获得标题(h1~h6)元素,固定写法 |
(5)表单过滤选择器
举例 | 语法 | 描述 |
---|---|---|
可用元素选择器 | :enabled |
获得可用元素 |
不可用元素选择器 | :disabled |
获得不可用元素 |
单选框选中选择器 | :checked |
获得单选/复选框选中的元素 |
下拉框选中选择器 | :selected |
获得下拉框选中的元素 |
5.JQuery的DOM操作
(1)内容操作
方法 | 描述 |
---|---|
html() |
获取/设置元素的标签体内容 |
text() |
获取/设置元素的标签体纯文本内容 |
val() |
获取/设置元素的value属性值 |
(2)属性操作
方法 | 描述 |
---|---|
attr() |
获取/设置元素的属性 |
removeAttr() |
删除属性 |
prop() |
获取/设置元素的属性 |
removeProp() |
删除属性 |
addClass() |
添加class属性值 |
removeClass() |
删除class属性值 |
toggleClass() |
切换class属性 |
attr()
和prop()
区别?
如果操作的是元素的固有属性,则建议使用
prop();如果操作的是元素自定义的属性,则建议使用
attr()。
toggleClass("one")
:判断如果元素对象上存在
class="one",则将属性值one删除掉。 如果元素对象上不存在
class="one",则添加。
(2)CRUD操作
方法 | 描述 |
---|---|
append() |
在被选元素的结尾插入指定内容 |
prepend() |
在被选元素的开头插入内容 |
appendTo() |
在被选元素的结尾插入 HTML 元素 |
prependTo() |
在被选元素的开头插入 HTML 元素 |
after() |
在被选元素后插入指定的内容 |
before() |
在被选元素前插入内容 |
insertAfter() |
在被选元素后插入 HTML 元素 |
insertBefore() |
被选元素前插入 HTML 元素 |
remove() |
移除元素 |
empty() |
清空元素的所有后代元素 |
6.JQuery的几个简单案例
(1)隔行换色
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>隔行换色</title> <script src="js/jquery-3.3.1.min.js"></script> <script> //需求:将数据行的奇数行背景色设置为gray,偶数行背景色设置为pink $(function () { //1. 获取数据行的奇数行的tr,设置背景色为gray $("tr:gt(1):odd").css("backgroundColor", "gray"); //2. 获取数据行的偶数行的tr,设置背景色为pink $("tr:gt(1):even").css("backgroundColor", "pink"); }); </script> </head> <body> <table id="tab1" border="1" width="800" align="center"> <tr> <td colspan="5"><input type="button" value="删除"></td> </tr> <tr style="background-color: #999999;"> <th><input type="checkbox"></th> <th>ID</th> <th>名称</th> <th>性别</th> <th>操作</th> </tr> <tr> <td><input type="checkbox"></td> <td>0</td> <td>Atlantis</td> <td>男</td> <td><a href="">修改</a>|<a href="">删除</a></td> </tr> <tr> <td><input type="checkbox"></td> <td>1</td> <td>Andersen</td> <td>男</td> <td><a href="">修改</a>|<a href="">删除</a></td> </tr> <tr> <td><input type="checkbox"></td> <td>2</td> <td>长安</td> <td>女</td> <td><a href="">修改</a>|<a href="">删除</a></td> </tr> <tr> <td><input type="checkbox"></td> <td>3</td> <td>安徒生</td> <td>男</td> <td><a href="">修改</a>|<a href="">删除</a></td> </tr> </table> </body> </html>
(2)全选全不选
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>全选和全不选</title> <script src="js/jquery-3.3.1.min.js"></script> <script> //分析:需要保证下边的选中状态和第一个复选框的选中状态一致即可 function selectAll(obj){ //获取下边的复选框 $(".itemSelect").prop("checked",obj.checked); } </script> </head> <body> <table id="tab1" border="1" width="800" align="center"> <tr> <td colspan="5"><input type="button" value="删除"></td> </tr> <tr style="background-color: #999999;"> <th><input type="checkbox" onclick="selectAll(this)"></th> <th>ID</th> <th>名称</th> <th>性别</th> <th>操作</th> </tr> <tr> <td><input type="checkbox" class="itemSelect"></td> <td>0</td> <td>Atlantis</td> <td>男</td> <td><a href="">修改</a>|<a href="">删除</a></td> </tr> <tr> <td><input type="checkbox" class="itemSelect"></td> <td>1</td> <td>Andersen</td> <td>男</td> <td><a href="">修改</a>|<a href="">删除</a></td> </tr> <tr> <td><input type="checkbox" class="itemSelect"></td> <td>2</td> <td>长安</td> <td>女</td> <td><a href="">修改</a>|<a href="">删除</a></td> </tr> <tr> <td><input type="checkbox" class="itemSelect"></td> <td>3</td> <td>安徒生</td> <td>男</td> <td><a href="">修改</a>|<a href="">删除</a></td> </tr> </table> </body> </html>
(3)QQ表情选择
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title>QQ表情选择</title> <script src="js/jquery-3.3.1.min.js"></script> <style type="text/css"> * { margin: 0;padding: 0;list-style: none;} .emoji { margin: 50px;} ul { overflow: hidden;} li { float: left;width: 48px;height: 48px;cursor: pointer;} .emoji img { cursor: pointer;} </style> <script> //需求:点击qq表情,将其追加到发言框中 $(function () { //1.给img图片添加onclick事件 $("ul img").click(function(){ //2.追加到p标签中即可。 $(".word").append($(this).clone()); }); }); </script> </head> <body> <div class="emoji"> <ul> <li><img src="img/01.gif" height="22" width="22" alt=""/></li> <li><img src="img/02.gif" height="22" width="22" alt=""/></li> <li><img src="img/03.gif" height="22" width="22" alt=""/></li> <li><img src="img/04.gif" height="22" width="22" alt=""/></li> <li><img src="img/05.gif" height="22" width="22" alt=""/></li> <li><img src="img/06.gif" height="22" width="22" alt=""/></li> <li><img src="img/07.gif" height="22" width="22" alt=""/></li> <li><img src="img/08.gif" height="22" width="22" alt=""/></li> <li><img src="img/09.gif" height="22" width="22" alt=""/></li> <li><img src="img/10.gif" height="22" width="22" alt=""/></li> <li><img src="img/11.gif" height="22" width="22" alt=""/></li> <li><img src="img/12.gif" height="22" width="22" alt=""/></li> </ul> <p class="word"> <strong>请发言:</strong> <img src="img/12.gif" height="22" width="22" alt=""/> </p> </div> </body> </html>
(4)多选下拉列表的左右移动
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>左右移动</title> <script src="js/jquery-3.3.1.min.js"></script> <style> #leftName, #btn, #rightName { float: left;width: 100px;height: 300px;} #toRight, #toLeft { margin-top: 100px;margin-left: 30px;width: 50px;} .border { height: 500px;padding: 100px;} </style> <script> //需求:实现下拉列表选中条目左右选择功能 $(function () { //toRight $("#toRight").click(function () { //获取右边的下拉列表对象,append(左边下拉列表选中的option) $("#rightName").append($("#leftName > option:selected")); }); //toLeft $("#toLeft").click(function () { //appendTo 获取右边选中的option,将其移动到左边下拉列表中 $("#rightName > option:selected").appendTo($("#leftName")); }); }); </script> </head> <body> <div class="border"> <select id="leftName" multiple="multiple"> <option>Atlantis</option> <option>Andersen</option> <option>长安</option> <option>安徒生</option> </select> <div id="btn"> <input type="button" id="toRight" value="-->"><br> <input type="button" id="toLeft" value="<--"> </div> <select id="rightName" multiple="multiple"> <option>格林</option> </select> </div> </body> </html>
(5)广告显示和隐藏
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>广告的自动显示与隐藏</title> <style> #content { width: 100%;height: 500px;background: #999} </style> <script src="js/jquery-3.3.1.min.js"></script> <script> /* 需求: 1. 当页面加载完,3秒后。自动显示广告 2. 广告显示5秒后,自动消失。 分析: 1. 使用定时器来完成。setTimeout (执行一次定时器) 2. 分析发现JQuery的显示和隐藏动画效果其实就是控制display 3. 使用 show/hide方法来完成广告的显示 */ //入口函数,在页面加载完成之后,定义定时器,调用这两个方法 $(function () { //定义定时器,调用adShow方法 3秒后执行一次 setTimeout(adShow, 3000); //定义定时器,调用adHide方法,8秒后执行一次 setTimeout(adHide, 8000); }); //显示广告 function adShow() { //获取广告div,调用显示方法 $("#ad").show("slow"); } //隐藏广告 function adHide() { //获取广告div,调用隐藏方法 $("#ad").hide("slow"); } </script> </head> <body> <div> <!-- 广告DIV --> <div id="ad" style="display: none;"> <img style="width:100%" src="img/adv.jpg"/> </div> <!-- 下方正文部分 --> <div id="content"> 正文部分 </div> </div> </body> </html>
(6)抽奖
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jquery案例之抽奖</title> <script src="js/jquery-3.3.1.min.js"></script> <script language='javascript' type='text/javascript'> /* 分析: 1. 给开始按钮绑定单击事件 1.1 定义循环定时器 1.2 切换小相框的src属性 * 定义数组,存放图片资源路径 * 生成随机数。数组索引 2. 给结束按钮绑定单击事件 1.1 停止定时器 1.2 给大相框设置src属性 */ var imgs = ["img/man00.jpg", "img/man01.jpg", "img/man02.jpg", "img/man03.jpg", "img/man04.jpg", "img/man05.jpg", "img/man06.jpg", ]; var startId;//开始定时器的id var index;//随机角标 $(function () { //处理按钮是否可以使用的效果 $("#startID").prop("disabled",false); $("#stopID").prop("disabled",true); //1. 给开始按钮绑定单击事件 $("#startID").click(function () { // 1.1 定义循环定时器 20毫秒执行一次 startId = setInterval(function () { //处理按钮是否可以使用的效果 $("#startID").prop("disabled",true); $("#stopID").prop("disabled",false); //1.2生成随机角标 0-6 index = Math.floor(Math.random() * 7);//0.000--0.999 --> * 7 --> 0.0-----6.9999 //1.3设置小相框的src属性 $("#img1ID").prop("src",imgs[index]); },20); }); //2. 给结束按钮绑定单击事件 $("#stopID").click(function () { //处理按钮是否可以使用的效果 $("#startID").prop("disabled",false); $("#stopID").prop("disabled",true); // 1.1 停止定时器 clearInterval(startId); // 1.2 给大相框设置src属性 $("#img2ID").prop("src",imgs[index]).hide(); //显示1秒之后 $("#img2ID").show(1000); }); }); </script> </head> <body> <!-- 小像框 --> <div style="border-style:dotted;width:160px;height:100px"> <img id="img1ID" src="img/man00.jpg" style="width:160px;height:100px"/> </div> <!-- 大像框 --> <div style="border-style:double;width:400px;height:300px;position:absolute;left:500px;top:10px"> <img id="img2ID" src="img/man00.jpg" width="400px" height="300px"/> </div> <!-- 开始按钮 --> <input id="startID" type="button" value="点击开始" style="width:150px;height:150px;font-size:22px"> <!-- 停止按钮 --> <input id="stopID" type="button" value="点击停止" style="width:150px;height:150px;font-size:22px"> </body> </html>
相关文章推荐
- jQuery 语法简单介绍和入门学习
- jQuery 语法简单介绍和入门学习
- JQuery入门―编写一个简单的JQuery应用案例
- jQuery 语法简单介绍和入门学习
- jQuery 语法简单介绍和入门学习
- 入门 HTML JavaScript Jquery学习回顾 有小案例
- Ajax框架之DWR学习(简单入门案例)-yellowcong
- SSH学习之Struts1入门的简单登陆案例。
- JQuery入门—编写一个简单的JQuery应用案例
- jQuery入门学习之slideToggle()和bind()方法
- springMVC学习笔记之入门案例
- jQuery入门级学习笔记及源码,很好很强大的jQuery
- Quartz学习——Quartz简单入门Demo(二)
- jQuery学习笔记(1)---简单的登录输入控制
- jQuery入门 简单用法
- jQuery简单入门
- 从零开始学习jQuery (一) 开天辟地入门篇
- sqlite简单入门学习
- jQuery事件与事件对象入门学习教程
- 从零开始学习jQuery (一) 开天辟地入门篇 <转载>