jQuery介绍
1.jQuery是一个轻量级的、兼容多浏览器的JavaScript库。
2.jQuery使用户能够更方便地处理HTML Document、Events、实现动画效果、方便地进行Ajax交互,能够极大地简化JavaScript编程。它的宗旨就是:“Write less, do more.“
jQuery的优势
1.一款轻量级的JS框架。jQuery核心js文件才几十kb,不会影响页面加载速度。
2.丰富的DOM选择器,jQuery的选择器用起来很方便,比如要找到某个DOM对象的相邻元素,JS可能要写好几行代码,而jQuery一行代码就搞定了,再比如要将一个表格的隔行变色,jQuery也是一行代码搞定。
3.链式编程,隐式迭代。jQuery的链式操作可以把多个操作写在一行代码里,更加简洁
4.事件、样式、动画支持。jQuery还简化了js操作css的代码,并且代码的可读性也比js要强。
5.Ajax操作支持。jQuery简化了AJAX操作,后端只需返回一个JSON格式的字符串就能完成与前端的通信。
6.跨浏览器兼容。jQuery基本兼容了现在主流的浏览器,不用再为浏览器的兼容问题而伤透脑筋。
7.插件扩展开发。jQuery有着丰富的第三方的插件,例如:树形菜单、日期控件、图片切换插件、弹出窗口等等基本前端页面上的组件都有对应插件,并且用jQuery插件做出来的效果很炫,并且可以根据自己需要去改写和封装插件,简单实用
jQuery的引入方式
1.直接下载文件到本地(最常用),从本地中导入
2.使用文件的网络地址,就像我们img标签里面的那个src的用法差不多。
引入完之后,就可以直接使用jQuery的语法来写了,但是还是要写在script标签里面,并且要注意引入顺序,先引入文件,再在script标签里面写jQuery的代码,先导入再使用。
jQuery对象和dom对象
jquery对象找到的标签对象称为--jQuery对象
原生js找到的标签对象称为--dom对象
DOM对象只能使用dom对象的方法 不能使用jQuery对象的方法
jQuery对象也是只能使用自己的对象方法
jQuery对象和dom对象之间可以互相转换
jquery转换dom
$('#d1')[0]
dom转换jQuery
var a=$(#d1)[0]
$(a)
或者
$($(#d1)[0])
jQuery选择器
id选择器:
$("#id") #不管找什么标签,用什么选择器,都必须要写$(""),引号里面再写选择器,通过jQuery找到的标签对象就是一个jQuery对象,用原生JS找到的标签对象叫做DOM对象,看我们上面的jQuery对象部分的内容
标签选择器:
$("tagName")
class选择器:
$(".className")
配合使用:
$("div.c1") // 找到有c1 class类的div标签
所有元素选择器:
$("*")
组合选择器:
$("#id, .className, tagName")
层级选择器:(同css)x和y可以为任意选择器
$("x y");// x的所有后代y(子子孙孙)
$("x > y");// x的所有儿子y(儿子)
$("x + y")// 找到所有紧挨在x后面的y
$("x ~ y")// x之后所有的兄弟y
基本筛选器(选择之后进行过滤)
:first // 第一个
:last // 最后一个
:eq(index)// 索引等于index的那个元素
$('li:eq(1)');
$('li:eq(-1)').text();
:even // 匹配所有索引值为偶数的元素,从 0 开始计数
:odd // 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)// 匹配所有大于给定索引值的元素
:lt(index)// 匹配所有小于给定索引值的元素
:not(元素选择器)// 移除所有满足not条件的标签
:has(元素选择器)// 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)
$('li:has(span)');
$("div:has(h1)")// 找到所有后代中有h1标签的div标签,意思是首先找到所有div标签,把这些div标签的后代中有h1的div标签筛选出来
$("div:has(.c1)")// 找到所有后代中有c1样式类(类属性class='c1')的div标签
$("li:not(.c1)")// 找到所有不包含c1样式类的li标签
$("li:not(:has(a))")// 找到所有后代中不含a标签的li标签
属性选择器
[attribute]
[attribute=value]// 属性等于
[attribute!=value]// 属性不等于
// 示例,多用于input标签
<input type="text">
<input type="password">
<input type="checkbox">
$("input[type='checkbox']");// 取到checkbox类型的input标签
$("input[type!='text']");// 取到类型不是text的input标签
表单筛选器
多用于找form表单里面出现的input标签,当然通过属性选择器找肯定也是没问题的,这样就是写着简单一些
input标签中type属性为这个值的input标签
:text
:password 实例:$(':password');
:file
:radio
:checkbox
:submit
:reset
:button
筛选器方法
找下一个元素:
$("#id").next() #找到下一个兄弟标签
示例:$('#l2').next();
示例:$('#l2').next().next().next().text();
$("#id").nextAll() #找到下面所有的兄弟标签
示例:$('#l2').nextAll().text();
$("#id").nextUntil("#i2") #直到找到id为i2的标签就结束查找,不包含它
示例:$('#l2').nextUntil('#l4').text();
示例:
<ul>
<li>谦谦君子,温润如玉</li>
<li id="l2"><span>失之淡然,得之坦然</span></li>
<li>失之东隅,收之桑榆</li>
<li id="l4">
<a href="" class="c1">奇谋,只在绝境中诞生</a>
</li>
<li>酒不醉人人自醉,情不伤人人自负</li>
</ul>
找上一个元素:
$("#id").prev(