层次选择器
如果想通过DOM元素之间的层次关系来获取特定元素,例如后代元素、子元素、相邻元素和同辈元素等,那么层次选择器是一个非常好的选择。
$(“ancestor
descendant”):选取parent元素后所有的child元素
ancestor的中文意思是“祖先”,descendant的中文意思是“后代”
$(“body div”)选取body元素下所有的div元素。
$(“ul li”) 选取ul元素下所有的li元素。
$(“#test div”) 选取id为“test”的元素所包含的所有的div子元素
$(“div#test div”) 选取id为“test”的div所包含的所有的div子元素
$(“.test div”) 选取class为“test”的元素所包含的所有的div子元素
$(“div.test span”) 选取class为“test”的div所包含的所有的span子元素
$(“span.test .demo”) 选取class为“test”的span所包含的所有的class为demo的元素
$(“.test .demo”) 选取class为“test”的元素所包含的所有的class为demo的元素
2. $(“parent
> child”):选取parent元素后所有的直属child元素,何谓“直属”,也就是第一级的意思了
$(“body > div”)选取body元素下所有的第一级div元素。
$(“ul > li”) 选取ul元素下所有的第一级li元素。
$(“#test > div”) 选取id为“test”的元素所包含的所有的第一级div子元素
$(“div#test > div”) 选取id为“test”的div所包含的所有的第一级div子元素
$(“.test > div”) 选取class为“test”的元素所包含的所有的第一级div子元素
$(“div.test > span”) 选取class为“test”的div所包含的所有的第一级span子元素
$(“span.test > .demo”) 选取class为“test”的span所包含的所有的第一级class为demo的元素
$(“.test > .demo”) 选取class为“test”的元素所包含的所有的第一级class为demo的元素
3.
$(“prev
+ next”):prev和next是两个同级别的元素. 选中在prev元素后面的next元素.
$(“#demo+img”)选在id为demo元素后面的img对象.如果id为demo元素后面没有同级的img对象,那么这个$(“#demo+img”).length=0
4.
$(“prev
~ siblings”):选择prev后面的根据siblings过滤的元素。注:siblings是过滤器
$(“#demo~[title]“)选择id为demo的元素后面所有带有title属性的元素,同样如果id为demo的元素后面没有一个带有title属性的元素,那么$(“#demo~[title]“).length = 0