$(".p2").nextAll(); //如果筛选条件改为 $(".p2").nextAll(".p4"); 则只有我是第四个P会被选中 <div> <p>我是第一个P</p> <p>我是第二个P</p> <p>我是第三个P</p> //会被选中,是.p2后面的兄弟元素 <p>我是第四个P</p> //会被选中,是.p2后面的兄弟元素 </div>
十六、nextUntil() 获取其后的元素,直到参数能匹配上的为止,不包括结束条件那个
语法:nextUntil([expr|ele][,fil]) expr筛选表达式 | DOM元素筛选,注意不包括参数里的那一个
$(".p2").nextUntil(".p4"); //注意此方法并不会包括.p4 <div> <p>我是第一个P</p> <p>我是第二个P</p> <p>我是第三个P</p> //会被选中,是.p2后面的兄弟元素 <p>我是第四个P</p> //不会被选中,我作为结束条件,但不包括我 </div>
十七、offsetPosition() 返回第一个用于定位的祖先元素,即查找祖先元素中position为relative或absolute的元素。
语法:offsetPosition() 此方法没有参数 由于CSS的绝对定位的定位基准是相对最近的一个已定位元素,因此此方法的作用不言而喻。
$("span").offsetParent(); <div> //选中的是div,因此div是已定位元素。 <p> <span>我是一个span</span> </p> </div>
十八、parent() 获取指定元素的直接父元素
语法:parent(expr) expr为筛选条件,如果直接父元素不符合条件,则不返回任何元素(无论它的祖先是否具有能与expr匹配的)
$("span").parent(); <div> <p> //我是span的直接父元素,我会被匹配到 <span>我是一个span</span> </p> </div>
十九、parents() 获取指定元素的所有祖先元素,一直到<body></body>
语法:parents(expr) expr为筛选条件,如果某个祖先元素不符合expr则排除
$("span").parents(); <div> //我是span的祖先元素,我也会被匹配到.另外<body></body>也会被匹配到 <p> //我是span的直接父元素,我会被匹配到 <span>我是一个span</span> </p> </div>
二十、parentsUntil() 获取指定元素的祖先元素,知道参数里能匹配到的为止
语法:parentsUntil(expr) expr为停止参数,一直匹配到expr为止,同时参数的条件是不会被匹配中的。
$("span").parentsUntil("div"); <div> //我是span的祖先元素,但是我作为停止条件,我也不会被选中 <p> //我是span的直接父元素,我会被选中 <span>我是一个span</span> </p> </div>
二十一、prev() 获取指定元素的前一个兄弟元素
语法:prev(expr) expr:可选。当上一个兄弟元素不符合参数中的条件时,不返回任何元素。
$(".p2").prev(); <div> <p>我是第一个P</p> //我会被选中,我是.p2的前一个元素。 <p>我是第二个P</p> <p>我是第三个P</p> <p>我是第四个P</p> </div>
二十二、prevAll() 获取指定元素前面的所有兄弟元素
语法:prevAll(expr) expr:可选,排除所有不能够被expr匹配上的元素
$(".p4").prevAll(".p2"); <div> <p>我是第一个P</p> //不会被选中,虽然我是.p4前面的兄弟元素,但是我没有class=p2 <p>我是第二个P</p> //会被选中,我既是.p4前面的兄弟元素,而且我有class=p2 <p>我是第三个P</p> //不会被选中,虽然我是.p4前面的兄弟元素,但是我没有class=p2 <p>我是第四个P</p> </div>
二十三、prevUntil() 获取指定元素前面的所有兄弟元素,直到参数里的条件能够匹配到的。 注意参数条件本身不会被匹配
语法:prevUntil([expr|ele][,fil]) expr匹配表达式 | DOM元素匹配