看了好长时间jquery,前两天面试的时候还是不能脱离网络,有人说做程序员的记什么记,有什么问题百度啊,可是有些基础的东西还是要记的,不然真是举步维艰啊!一个简单的问题,人家马上就有思路了,这就是熟能生巧的作用,基础的东西还是要记的!
今天总结下jquery选择器问题!
1 基础选择器
感觉基础选择器比较直接,不拐弯抹角,直呼其名!找张三就直接叫,这相对层次选择器,过滤选择器而言,比较直白。要记住的是:id选择器,类选择器,标签选择器,通配符选择器(*),还有一个就是一下叫好几个人,中间用逗号隔海就行了$("div,input,#one"),这样就会选取所有对应的元素,有点像id、类、标签选择器的大杂烩。
2 层次选择器
这个选择器有点含蓄,不直呼其名,而是简介的叫,比如张三的儿子,张三的后代,张三下面的第一个弟弟,所有张三的弟弟,
层次选择器就这点内容,总的来看就是后代问题(包含的元素),和兄弟的问题(dom树中平级的元素)。
比如$("#div1 #div2")一个空格就是说选择所有div1下的所有div2的后代。$("#div1>div2")只选择div1的子元素,子元素的子元素不要。$("#div1+#div2")选择的只是和div1紧邻的下一个平级元素。$("#div1~#div2")选取的是所有的弟弟级别的元素,没有哥哥级的元素,所谓弟弟哥哥是按dom树中出现在该元素前面的平级的元素,弟弟级别的元素指的是出现在该元素后面的平级的元素。
3 过滤选择器
a:基本过滤器
主要是通过特定的过滤规则来筛选出所需的DOM元素,该选择器的标志是":",所有的过滤选择器都是以:开头的。从字面 意思来看:既然是过滤选择器,必须和其他过滤器一起组合起来才能使用,不然怎么过滤是吧!所以它都不是单独使用的过滤 器(:header(固定写法),:animated(固定写法) 除外)!
包括的内容有::first、:last、:even、:odd、:not(xxx)、:eq(从0开始的数)、:gt(从0开始的数)、lt(从0开始的数)
b:内容过滤器
从标题可以看出就是过滤内容的,选出内容符合的元素。包括::contains('')、:empty、(匹配所有不包含子元素或者文本 的空元素),:has(selector)
c:可见过滤器
:hidden、:visible
d:属性过滤器
形式为[]例如:$("div[id='one']"),$("div[name='one']")
不行了,没头了 详情点这里吧