jQuery对象

一、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.x:使用最广泛

2.x:不兼容IE678,很少有人使用

3.x:比兼容IE678,只支持最新的浏览器,我们使用3.x版本

四、jQuery对象

jQuery兑现就通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的。

一个对象如果是jQuery对象那么就可以使用jQuery里的方法

jQuery对象虽然是包装DOM对象后产生的,但是jQuery对象无法使用DOM对象的任何方法

同样DOM对象也不能使用jQuery里的方法


在jQuery中声明一个变量要在jQuery对象变量的时候在变量名前面加上$

例如:var $varible = jQuery对象

var varible = DOM对象

$varible[0] 将jQuery对象转换为DOM对象

jquery对象和DOM对象的使用

$("#i1").html; //jQuery对象可以使用jQuery的方法

$("#i1")[0].innerhtml; //DOM对象使用DOM的方法

五、jQuery基础语法

$(selector).action()

六、jQuery查找标签

1、id选择器

$("#id")

2、标签选择器

$("tahName")

3、class选择器

$(".className")

4、配合使用

$("div.c1") 找到c1 class类的div标签

$('div#d1')

5、所有元素选择器

$("*")

6、组合选择器

$("id,.className,tagName")

$('#d1,.c1,p') 并列+混用

$('div span') 后代

$('div>span') 儿子

$('div+span') 毗邻

$('div~span') 弟弟

7、层级选择器

$("x y"); x的所有后代y(子子孙孙)

$("x > y") ; x的所有儿子y(儿子)

$("x + y"); 找到所有紧挨在x后面的y

$("x ~ y"); x之后所有的兄弟y

8、基本筛选器

:first 第一个

:last 最后一个

:eq(index) 索引等于index的那个元素

:even 匹配所有索引为偶数的元素,从0开始计数

:odd 匹配所有索引为计数的元素,从0开始计数

:gt(index) 匹配所有大于给定索引值得元素

:lt(index) 匹配所有小于给定索引值得元素

:not(元素选择器) 移除所有1满足not条件的标签

:has(元素选择器) 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)

例子:

$('ul li:first') # 大儿子

$('ul li:last') # 小儿子

$('ul li:eq(2)') # 放索引

$('ul li:even') # 偶数索引 0包含在内

$('ul li:odd') # 奇数索引

$('ul li:gt(2)') # 大于索引

$('ul li:lt(2)') # 小于索引

$('ul li:not("#d1")') # 移除满足条件的标签

$("div:has('h1')")// 找到所有后代中有h1标签的div标签

$("div:has(.c1)")// 找到所有后代中有c1样式类的div标签

$("li:not(.c1)")// 找到所有不包含c1样式类的li标签

$("li:not(:has(a))")// 找到所有后代中不含a标签的li标签

9、属性选择器

[attribute]

[attribute=value] 属性等于

[attribute!=value] 属性不等于

例子:

<input type="text">

<input type="password">

<input type="checkbox">

$("input[type='checkbox']");// 取到checkbox类型的input标签

$("input[type!='text']");// 取到类型不是text的input标签

10、表单筛选器

:text

:password

:file

:radio

:checkbox

:submit

:reset

:button

例子:

$(":checkbox") // 找到所有的checkbox

('input\[type="text"\]')----------\>(':text')

('input\[type="password"\]')----------\>(':password')

11、表单对象属性

:enabled

:disabled

:checked

:selected

例子:找到可用的标签

<form>

<input name="email" disabled="disabled" />

<input name="id" />

</form>

$("input:enabled") // 找到可用的input标签

例子2:找到被选中的option

<select id="s1">

<option value="beijing">北京市</option>

<option value="shanghai">上海市</option>

<option selected value="guangzhou">广州市</option>

<option value="shenzhen">深圳市</option>

</select>

$(":selected") // 找到所有被选中的option

$(':checked') # 它会将checked和selected都拿到

$(':selected') # 它不会 只拿selected

$('input:checked') # 自己加一个限制条件

12、筛选器方法
1、下一个元素

$("#id").next()

$("#id").nextAll()

$("#id").nextUntil("#i2")

2、上一个元素

$("#id").prev()

$("#id").prevAll()

$("#id").prev.Until("#i2")

3、父亲元素

$("#id").parent()

$("#id")parents() 查找当前元素的所有父辈元素

$("#id").parentsUntil() 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止

4、儿子和兄弟元素

$("#id").children(); 儿子们

$("#id").silblings(); 兄弟们

5、查找

搜索所有与指定表达式匹配的元素。这个函数是找出正在处理的元素的后代元素的好方法

("div").find("p")-------------------------等价于("div p")

6、筛选

筛选出于指定表达式匹配的元素集合。这个方法用于缩小匹配的范围。用逗号分隔多个表达式

("#div").filter(".c1") 从结果中过滤出有c1样式类的,等价于("div.c1")

7、补充

.first() 获取匹配的第一一个元素

('div span.first')----------('div span').first()

.last() 获取匹配的最后一个元素

('div span:last')----------('div span').last()

.not() 从匹配元素的集合中删除与指定表达式匹配的元素

('div span:not("#d3")')---------('div span').not("#d3")

.has() 保留包含特定后代的元素,去掉那些不含有后代的元素

.eq() 索引值等于指定值得元素

相关推荐
朝阳398 分钟前
JS 正则表达式 -- 分组【详解】含普通分组、命名分组、反向引用
前端·javascript·正则表达式
Cool----代购系统API1 小时前
css设置盒子动画,CSS3 transition动画 animation动画
前端·css·css3
哟哟耶耶1 小时前
css-设置元素的溢出行为为可见overflow: visible;
前端·css
sunly_1 小时前
CSS:跑马灯
前端·css
2301_818732061 小时前
用layui表单,前端页面的样式正常显示,但是表格内无数据显示(数据库连接和获取数据无问题)——已经解决
java·前端·javascript·前端框架·layui·intellij idea
yqcoder1 小时前
npm link 作用
前端·npm·node.js
林涧泣1 小时前
【Uniapp-Vue3】页面和路由API-navigateTo及页面栈getCurrentPages
前端·vue.js·uni-app
Komorebi゛1 小时前
【uniapp】获取上传视频的md5,适用于APP和H5
前端·javascript·uni-app
林涧泣1 小时前
【Uniapp-Vue3】动态设置页面导航条的样式
前端·javascript·uni-app
杰九2 小时前
【全栈】SprintBoot+vue3迷你商城(10)
开发语言·前端·javascript·vue.js·spring boot