博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jq复习心得
阅读量:6504 次
发布时间:2019-06-24

本文共 1314 字,大约阅读时间需要 4 分钟。

hot3.png

jquery复习心得
近来复习了一下jquery,主要看的是Jquery in action 和 jquery基础教程(第二版)。
有一些印象挺深刻的东西,记下来。
【jq对象是dom数组的包装集。】
这个思路很重要,在解决某些问题时,它是一个重要的指导思路:想办法收集你需要的那些dom对象。
【选择器表达式是分步进行的。】
理解了这句话,就理解了eq和nth-child有什么区别了。
这句话是什么意思呢,用2个例子作对比说明吧。
$("a:even:odd") 表示的是:
1. 收集所有的a元素(DOM对象),放到数组A
2. 收集A[0],A[2],A[4]...,放到数组B
3. 收集B[1], B[3], B[5]...,放到数组C
将数组C包装成一个jq对象,就是最后结果。
$("a:odd:even") 表示的是:
1. 收集所有的a元素(DOM对象),放到数组A
2. 收集A[1],A[3],A[5]...,放到数组B
3. 收集B[0], B[2], B[4]...,放到数组C
将数组C包装成一个jq对象,就是最后结果。
再看一个常见的场合,我们要给表格隔行涂色,那么,我们要做的事情就是,要把一个table里的奇数行先选择出来。
有两种方法(假设该table的id为t,并且只有一个tbody):
$("#t tbody tr:nth-child(odd)")表示的是:
1. 从文档树里,收集所有id为t的元素(DOM对象),放到数组A。显然,数组A长度为1
2. 从数组A里,取出每个A[i],并且将A[i]的所有后代tbody元素收集起来,全部放到数组B。显然,这个B长度也是1。
3. 从数组B里,取出每个B[i],并且将B[i]的所有标签名是tr的后代元素收集起来,全部放到数组C。
4. 从数组C里,取出每个C[i], 如果C[i]满足“它是它父亲的第奇数个儿子”这个条件,就把它放到数组D
将数组D包装成一个jq对象,就是最后结果。
$("#t tbody tr:odd)的前2步是一样,关键是第3步和第4步
1. 从文档树里,收集所有id为t的元素(DOM对象),放到数组A。显然,数组A长度为1
2. 从数组A里,取出每个A[i],并且将A[i]的所有后代tbody元素收集起来,全部放到数组B。显然,这个B长度也是1。
3. 从数组B里,取出每个B[i],并且将B[i]的所有标签名是tr的后代元素收集起来,全部放到数组C
4. 从数组C里,取出C[1],c[3], C[5]....., 把它们放到数组D。
将数组D包装成一个jq对象,就是最后结果。
【容易忽略的有用的函数】
.size()   包装集的大小
.add()    扩充包装集
.filter() 过滤包装集
.map()    将包装集里的东西进行映射,最后得到的东西还是一个jq对象,这个函数需要重视,参考api手册
.each()   遍历包装集
隐含着each和add的查找函数: find,children,parent等等

转载于:https://my.oschina.net/mustang/blog/146752

你可能感兴趣的文章
CloudCC:智能CRM究竟能否成为下一个行业风口?
查看>>
高德开放平台推出LBS游戏行业解决方案提供专业地图平台能力支持
查看>>
追求绿色数据中心
查看>>
Web开发初学指南
查看>>
OpenStack Days China:华云数据CTO郑军分享OpenStack创新实践
查看>>
探寻光存储没落的真正原因
查看>>
高通64位ARMv8系列服务器芯片商标命名:Centriq
查看>>
中国人工智能学会通讯——融合经济学原理的个性化推荐 1.1 互联网经济系统的基本问题...
查看>>
盘点大数据商业智能的十大戒律
查看>>
戴尔为保护数据安全 推出新款服务器PowerEdge T30
查看>>
今年以来硅晶圆涨幅约达40%
查看>>
构建智能的新一代网络——专访Mellanox市场部副总裁 Gilad Shainer
查看>>
《数字视频和高清:算法和接口》一导读
查看>>
《中国人工智能学会通讯》——6.6 实体消歧技术研究
查看>>
如何在Windows查看端口占用情况及查杀进程
查看>>
云存储应用Upthere获7700万美元股权债务融资
查看>>
国家互联网应急中心何世平博士主题演讲
查看>>
洗茶,你误会了多少年?
查看>>
移动大数据“后市场”受青睐 亟需数据深度学习人才
查看>>
贵阳高新区力争打造“千亿级大数据园区”
查看>>