【《jQuery实战》学习笔记02】第二章 创建元素包装集(jQuery对象)

**前言**

昨天终于写了第一篇学习笔记【《jQuery实战》学习笔记一】第一章jQuery引荐,发表了一天获得31个阅读量,虽然没人给我评论,我但感觉已经很不错了!今天把第二章也看完了,于是把笔记整理出来,发表成为第二篇总结性的学习笔记。由于第二章多数为函数的使用,如果单把这些函数的功能贴出来,很没意思,也起不到助记与升华总结的作用。因为我已经接触过jQuery与javascript, 对一些用法多少知道,现在的学习,只是想更系统,更全面的学习,接下来的文章将使用分类归纳纵观的方法,有些地方用一些简写的方式来写笔记。

如:img[A*/$/^=B] :表示三种情况,img[A*=B], img[A^=B], img[A$=B]

        E(空格)/>F 表示两种情况:E F, E>F

        E+/~F 表示两种情况: E+F,E~F

本文跟【《jQuery实战》学习笔记一】第一章jQuery引荐的写法相似,都采用问答-总结的方式撰写。本文以总结并识记知识点为主,因为比较简单,所以没有贴出大量的代码出来。

如有不明白,请务及时评论;如有错误,请您不吝赐教,指出错误!


**正文**

1.【知识点】属性值特征匹配符都有哪些?
E[A] 含有属性A
E[A^/*/$=str]
  href^=str 以str开头
  href$=str 以str结尾
  href*=str 包含str
li:has(a) 包含有a元素的li元素
E>F 寻找其直接子节点
E F 寻找所有子、孙节点
E+F E与F相邻
E~F E与F中间可以有其他元素
小结:包含(元素/属性),以F为相邻/间隔,F子孙/F儿女元素,属性值以str为首/尾/包含
*******************
2.【辨识】选择器p a与p > a之的区别
前者是p元素下面的所有a元素,不管是不是p的子元素,而后者则表示p元素的子工a元素.
************
3.【知识点】jQuery通过位置(数学特征)选择元素
 符号::first,:last, :odd, :even, first-child, last-child, only-child,nth-child(n), nth-child(even|odd), nth-child(Xn+Y),:eq(n), :gt(n), :lt(n)
小结:奇偶数,整倍/整倍+数,首末数,区间数
******************
4.【知识列表】自定义jquery选择器都有哪些?
符号: :animated, :button, :checkbox, :checked, :contains(foo), disabled, :enabled, :file, :header, :hidden, :image, :input, :not(filter), :parent, :password, :radio, :reset, :selected, :submit, :text, :visible
小结:对页面的元素进行归类,从输入框(密码,textbox),图片,(单复选)按钮,可见性,文本(标题),文件,激活,已选
          --对于那些实物元素(如input, checkbox, radio, button,img, file, password),为了归类方便,我称它们为控件,这里大多是控件. 其中:hidden, :parent, :animated,:visible不属于控件的控制
*****************
5.【概念问题】包装器与选择器之间的关系
-- jQuery所使用的封装方式即为包装器(wrapper),形式如$('p a'), 而选择器即指'p a'
*****************
6.【知识点】生成HTML元素的方法?与javascript对应在的方法有哪些?
--1.直接使用$('<div>hello</div>');
   2.也可以使用$('<div>')来生成内容为空的div元素
*****************
7.【知识点】包装集的筛选与关联操作有哪些?
--add():为包装集添加元素,参数使用的是选择器
not():传入非元素选择器,即不包含元素的名称,那不包含img,a,p,div等标签名称, [title$=x]就是可以的。
filter(): 使用此方法可以对包装集进行编程式筛选,传入的可以是一个function,当返回false删除this元素,也可以是非元素选择器
slice(b,s): 使用此方法可以切取从索引号为b,到序号为s之间一所有元素集合(索引号以0开始,序号以1开始)
*****************
8.【知识点】包装集的各种亲属的获取方法有哪些?
儿女:children()
父母:parent()
前辈:parents()
弟妹:next()
所有弟妹:nextAll()
哥姐:prev()
所有哥姐:prevAll()
兄弟姐妹:siblings()

所有子孙:$('*',context) / $('A *') / $('*')

******************
9.【辨识】filter与find之间的区别?
1.filter是针对包装集的元素进行筛选,
2.而find是针对包装集元素的儿孙元素进行筛选,也可以使用$('img[A^/*/$=B]',context)的方法实现find, 但find在链式写法中写起来更方便
3.都可以使用元素选择器,或属性特征筛选器
******************
10.【知识点】判断一个元素是否符合一个选择器?
--is(selector)可以返回true或false
******************
11.【原理与知识点】jQuery方法链返回对象有哪些操作?
--1.clone():可以将包装集克隆一个完全一样的对象
2.end():当使用一些方法如clone(), 返回了不同于原来操作返回的对象时,可以使用end()的方法来获取栈顶的前一个jQuery对象,栈底的jQuery对象为document对象,当end()到达document时,再使用end()将返回空对象
3.andSelf(): 可以返回当前与前一个jQuery对象的包装集,重复调用如:$('p a').clone().andSelf().andSelf()将得到两对克隆前与克隆后

的对象,不会返回document对象

******************

12.【易错与辨识】冒号: 与 >大于号

1)对于冒号: 的用法有两种:$('div:first'), $('div :first')  一种有空格一种没有,没有空格的相当于对jQuery集合中元素进行筛选,而有空格的相当于对jQuery集合各个元素的子元素进行筛选。第一种情况比较简单,而第二种情况相当于$('div *:first'),$('div *')把所有非内嵌文本的级联元素都认为是该jQuery对象集的元素。

2)对于大于号>的用法:$('div>')可直指所有div的儿女元素,不包含子孙元素


**总结**

【纵观】知识总结
1.选择器通过元素本身的属性特征(E[A*/$^=B]),邻居特征(E+/~F),父子级联特征(E(空格)/>F)来选取元素
2.对已有jQuery对象进行增选切的方法:
添加(add()),反选(not([A*/$/^=B])),编程式/选择器选取(filter(function()) / filter(img[A*/$/^=B])),集合切取(slice(b,s) b为i>=b向后区间,s是(i<=s+1)向前区间,两区间交集)
3.对已有jQuery对象的兄弟姐妹(next(),nextAll(),prev(),prevAll(),siblings),父母(parent()),前辈(parents()),儿女子孙(children(), find(img[A*/$/^=B])),自己(filter(function/[A*/$/^=B])), 进行选择,对自己元素的特征进行判断(true/false)(is('img[A*/^/$=B]'))
4.函数链操作时,返回对象切换。当出现clone()时返回对象切换为clone出来的对象,可以使用end()的方法切换未切换之前的对象,栈的顶端是最新的jQuery对象,最底端是doucment对象
5.通过jQuery对象数组中元素数学特征(奇偶(:even,:odd),区间(:gt(n),:lt(n),eq(n)),首末(:first,:last,:first-child,:last-child),整除(nth-child(Xn+Y),唯一(only-child))来获取
【一言蔽之】将书读薄
**使用选择器通过上下代、兄弟姐妹、自己的特征选取jQuery对象
**从已有的jQuery对象中,使用选择器与方法选取其上下代、兄弟姐妹、自己的一些jQuery对象
**从方法链中的栈获取前后的操作中的jQuery对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值