1.过滤器filter(有xxx类的,或id=xxx的元素)与not(没有XXX类,或不是id=xxx的元素)数组
2.父代选择器parent与parents(),parent是选则直接父类,parents是选择父类,父类的父类。this
因此很重要的一点是:parent()是只返回一个元素的,而祖先选择器parents("ul")他返回多个祖先元素。他里面是能够过滤元素的。parents("ul")表示获取全部祖先元素,而且是ul的。这是比较经常使用的配合过滤使用。3d
最常的作法是配合元素过滤。blog
3.有父代选择器,那么就有子代选择器children和后代选择器find。模板
直接子代跟后代元素有什么不一样?直接子代就是它的儿子,后代元素,能够是他的儿子,他的孙子...只要是它里面的元素便可。方法
跟上面相似,有点不一样的是不管是直接子代,仍是后代元素均可以有多个。im
即children("p")返回p标签的全部子代元素。d3
find("p")返回全部p标签的后代元素。总结
5.接下来,还有一个就是获取兄弟元素(同胞,同一个层级)siblings("p")。常见的应用场景就是导航栏tab栏切换时的高亮效果。next
还有就是next和prev方法,上一个和下一个同胞。
nextAll()和prevAll ()能够配合eq(2)使用,eq是得到数组中下标为2的元素。例如$(this).nextAll().eq(2).attr("href").attr是得到该元素的href属性的值。
学完以后,能够去找个购物车页面的模板,研究一下他的js代码是怎么写的。总结下来,发现只有获取直接父代的方法parent()是里面是没有过滤效果的,之前还有点迷惑,如今总结出来,方便记忆。