>php教程 >PHP开发 >jQuery의 요소 필터링 개요

jQuery의 요소 필터링 개요

高洛峰
高洛峰원래의
2016-12-05 15:15:341315검색

1.eq()  지정된 인덱스 번호를 가진 요소를 필터링
2.first()  첫 번째로 일치하는 요소를 필터링
3. last()  마지막으로 일치하는 요소를 필터링
4. hasClass() 일치하는 요소에 지정된 클래스가 포함되어 있는지 확인합니다.
5. filter() 지정된 표현식과 일치하는 요소 집합을 필터링합니다.
6. is() 요소가 매개변수와 일치할 수 있는지 확인합니다. 7. map()
8. has() 지정된 하위 요소를 포함하는 요소를 필터링합니다
9. not() 매개변수에서 일치할 수 있는 요소를 제외합니다
10. , 지정된 수의 요소를 가로채기
11.children() 지정된 요소의 리소스를 가져오는 필터
12.closed() 현재 요소부터 시작하여 조건을 충족하는 첫 번째 일치하는 상위 요소를 반환합니다. >13.find() 지정된 요소에서 하위 요소 찾기
14.next() 지정된 요소의 다음 형제 요소 가져오기
15.nextAll() 모든 후속 형제 요소 가져오기
16.nextUntil( ) Get its 매개변수가 일치할 때까지 종료 조건을 제외하고 다음 요소
17, offsetPosition() 위치 지정에 사용되는 첫 번째 조상 요소를 반환합니다. 즉, 조상 중에서 위치가 상대적이거나 절대적인 요소를 찾습니다. 강요.
18. parent() 지정된 요소의 직접 상위 요소를 가져옵니다.
19.parents() 6c04bd5ca3fcae76e30b72ad730ca86d36cc49f0c466276486e50c850b7e4956
20까지 지정된 요소의 모든 상위 요소를 가져옵니다. parentUntil() 매개변수가 일치할 때까지 지정된 요소의 상위 요소를 가져옵니다
21.prev() 지정된 요소의 이전 형제 요소를 가져옵니다
22.prevAll() 지정된 요소 이전의 모든 형제 요소를 가져옵니다. element
23. prevUntil() 매개변수의 조건이 일치할 때까지 지정된 요소 앞에 있는 모든 형제 요소를 가져옵니다. 매개변수 조건 자체는 일치하지 않습니다.
24.siblings()  이전 또는 이후에 관계없이 지정된 요소의 형제 요소를 가져옵니다.
25. add()  선택한 요소를 jQuery 개체 컬렉션에 추가합니다. 🎜>26.andSelf() 일회성 작업을 용이하게 하기 위해 선택한 jQuery 컬렉션에 자신을 추가합니다.
27. end() 현재 선택기의 선택을 이전 상태로 변경하는 작업을 반환합니다.
28. 내용 이해되지 않음

****************************** 필터***** ******* ******************************

eq() 필터 요소 지정된 인덱스 번호

구문 : eq(index|-index) 인덱스 번호는 0부터 시작합니다. 음수 값인 경우 마지막 값부터 카운트다운하고 마지막 값은 -1부터 시작합니다.

 

$("p").eq(1);  //如果选择器改为 $("p").eq(-1),则我是第四个P会被选中
  
<div>
  <p>我是第一个P</p>
  <p>我是第二个P</p>  //会被选中,索引值为1
  <p>我是第三个P</p>
  <p>我是第四个P</p>
</div> 


2. first() 첫 번째로 일치하는 요소를 필터링

구문: first( ) 이 메소드에는 매개변수가 없습니다

$("p").first();  
<div>
  <p>我是第一个P</p>  //我的索引值是0,我是第一个,我会被选中
  <p>我是第二个P</p>
  <p>我是第三个P</p>
  <p>我是第四个P</p>
</div> 

3. last() 마지막으로 일치하는 요소를 필터링합니다

구문: last() This 메소드에 매개변수가 없습니다

$("p").last();   
<div>
  <p>我是第一个P</p>
  <p>我是第二个P</p>
  <p>我是第三个P</p>
  <p>我是第四个P</p> //我是最后一个,我会被选中
</div> 

4. hasClass() 일치하는 요소에 지정된 클래스가 포함되어 있는지 확인

구문: hasClass(class ) 클래스는 카테고리 이름입니다. //부울 값을 반환합니다

if($("p").hasClass("p2"))
 {
   alert("我里面含有class=p2的元素");  //会弹出,p里的确存在class="p2"的元素
 }
 <div>
   <p>我是第一个P</p>
   <p class="p2">我是第二个P</p>
   <p>我是第三个P</p>
   <p>我是第四个P</p>
 </div>


5. filter() 지정된 표현식과 일치하는 요소 집합

구문: filter(expr |obj|ele|fn) expr: 일치 표현식 |obj: 기존 요소 일치에 사용되는 jQuery 객체 | DOM: 일치에 사용되는 DOM 요소 | 일치 조건으로 함수 반환 값

$("p").filter(".p2");
<div>
  <p>我是第一个P</p>
  <p class="p2">我是第二个P</p>  //我会被选中,我的class="p2"
  <p>我是第三个P</p>
  <p>我是第四个P</p>
</div> 


6. is() 요소가 매개 변수

구문: is(expr|obj|ele| fn) expr: 일치 표현식 | obj: 기존 요소 일치에 사용되는 jQuery 객체 | DOM: 일치 조건으로 함수 반환 값에 사용되는 DOM 요소

$($("p").first().is(".p2"))
{
  alert("不会弹出,因为第一个P的class不等于p2"); 
}
<div>
  <p>我是第一个P</p>
  <p class="p2">我是第二个P</p>  //我会被选中,我的class="p2"
  <p>我是第三个P</p>
  <p>我是第四个P</p>
</div> 

7. map()

8. has() 지정된 하위 요소를 포함하는 요소 필터링

구문: has(expr|ele) expr: 선택 표현식| DOM 요소 선택

$("div").has("p");
<div>                 //本div会被选中,因为该div含有p子元素
  <p>我是第一个P</p>
  <p class="p2">我是第二个P</p>
  <p>我是第三个P</p>
  <p>我是第四个P</p>
</div>
<div>
  <span>我是一个span</spam>
</div>

9. not() 매개변수에서 일치할 수 있는 요소를 제외합니다. 🎜>

구문: not(expr|ele |fn) expr: 선택 표현식 | DOM 요소 선택 | fn의 역할이 불분명함

 

$("p").not(".p2");
<div>
  <p>我是第一个P</p>        //会被选中,没有class=p2
  <p class="p2">我是第二个P</p>  //不会被选中,因为有class=p2被not(".p2")排除了
  <p>我是第三个P</p>        //会被选中,没有class=p2
  <p>我是第四个P</p>         //会被选中,没有class=p2
</div>


ten , Slice() 지정된 인덱스에서 시작하여 지정된 개수의 요소를 가로챕니다

구문: Slice(start, [end]) 시작 위치, 끝은 선택 사항입니다. 끝 위치를 제외한 끝 위치. 지정하지 않으면 마지막 항목이 일치됩니다.

$("p").slice(1,3)
<div>
  <p>我是第一个P</p>        //不会被选中,我索引为0
  <p class="p2">我是第二个P</p>  //会被选中,我索引为1
  <p>我是第三个P</p>        //会被选中,我索引为2
  <p>我是第四个P</p>         //不会被选中,虽然我的索引为3,但是不包括我
</div>
************************ 필터**** ** ***************************

11.children() 특정 요소의 리소스를 얻기 위한 필터

구문: children(expr); 지정된 요소의 리소스를 가져옵니다. expr은 하위 요소에 대한 필터링 조건입니다.

$("div").children(".p2");
 
<div>
  <p>我是第一个P</p>        //不会被选中,虽然我是div的子元素,但是我没class=p2
  <p class="p2">我是第二个P</p>  //会被选中,我既是p的子元素,又有class=p2
  <p>我是第三个P</p>        //不会被选中,虽然我是div的子元素,但是我没class=p2
  <p>我是第四个P</p>         //不会被选中,虽然我是div的子元素,但是我没class=p2
</div>
12.closet() 현재 요소 Start에서 일치하는 첫 번째 상위 요소를 반환

$("span").closest("p","div");
<div>                   //不会被选中,被P抢了先机
  <p>我是第一个P            //P会被选中,因为P符合条件,而且是最先匹配到的,虽然div也符合条件了,但是div不是最先匹配到的。因此div不会被选中。
    <span>我是P里的span</span>
  </p>
</div>


13. 찾기 () 지정된 요소에서 하위 요소

찾기 구문: find(expr|obj|ele) expr: 일치 표현식 | obj DOM 요소 일치에 사용되는 jQuery 개체

十四、next()    获取指定元素的下一个兄弟元素

   语法:next(expr)  expr:可选,筛选条件,如果下一个兄弟元素不符合改条件,则返回空。

$(".p2").next();    //如果筛选改为$(".p2").next(".p4")那选中的是哪个呢?答案是:没选中任何元素,因为虽然有个class=p4的P,但它不是.p2的下一个。      
<div>
  <p>我是第一个P</p>        
  <p class="p2">我是第二个P</p> 
  <p>我是第三个P</p>        //我是.p2的next
  <p class="p4">我是第四个P</p>
</div>

 

   

十五、nextAll()    获取其后的所有兄弟元素

    语法:nextAll(expr)  expr:可选,筛选条件,获取其后符合expr条件的所有兄弟元素

$(".p2").nextAll();  //如果筛选条件改为 $(".p2").nextAll(".p4");  则只有我是第四个P会被选中
<div>
  <p>我是第一个P</p>        
  <p class="p2">我是第二个P</p> 
  <p>我是第三个P</p>        //会被选中,是.p2后面的兄弟元素
  <p class="p4">我是第四个P</p> //会被选中,是.p2后面的兄弟元素
</div>  

   

十六、nextUntil()  获取其后的元素,直到参数能匹配上的为止,不包括结束条件那个

   语法:nextUntil([expr|ele][,fil])  expr筛选表达式 | DOM元素筛选,注意不包括参数里的那一个

$(".p2").nextUntil(".p4");    //注意此方法并不会包括.p4
<div>
  <p>我是第一个P</p>        
  <p class="p2">我是第二个P</p> 
  <p>我是第三个P</p>        //会被选中,是.p2后面的兄弟元素
  <p class="p4">我是第四个P</p> //不会被选中,我作为结束条件,但不包括我
</div>

   

十七、offsetPosition()  返回第一个用于定位的祖先元素,即查找祖先元素中position为relative或absolute的元素。

   语法:offsetPosition()  此方法没有参数  由于CSS的绝对定位的定位基准是相对最近的一个已定位元素,因此此方法的作用不言而喻。

$("span").offsetParent();
<div style="position:relative">  //选中的是div,因此div是已定位元素。
  <p>
    <span>我是一个span</span>
  </p>
</div>

   

 十八、parent()    获取指定元素的直接父元素

    语法:parent(expr)  expr为筛选条件,如果直接父元素不符合条件,则不返回任何元素(无论它的祖先是否具有能与expr匹配的)

$("span").parent();
<div style="position:relative">  
  <p>                //我是span的直接父元素,我会被匹配到
    <span>我是一个span</span>
  </p>
</div>

   

十九、parents()      获取指定元素的所有祖先元素,一直到6c04bd5ca3fcae76e30b72ad730ca86d36cc49f0c466276486e50c850b7e4956

   语法:parents(expr)  expr为筛选条件,如果某个祖先元素不符合expr则排除

$("span").parents();
<div style="position:relative">  //我是span的祖先元素,我也会被匹配到.另外<body></body>也会被匹配到  
  <p>                //我是span的直接父元素,我会被匹配到
    <span>我是一个span</span>
  </p>
</div>

   

二十、parentsUntil()  获取指定元素的祖先元素,知道参数里能匹配到的为止

   语法:parentsUntil(expr)  expr为停止参数,一直匹配到expr为止,同时参数的条件是不会被匹配中的。

$("span").parentsUntil("div");
<div style="position:relative">  //我是span的祖先元素,但是我作为停止条件,我也不会被选中  
  <p>                //我是span的直接父元素,我会被选中
    <span>我是一个span</span>
  </p>
</div>

   

 二十一、prev()    获取指定元素的前一个兄弟元素

    语法:prev(expr)    expr:可选。当上一个兄弟元素不符合参数中的条件时,不返回任何元素。

$(".p2").prev();    
<div>
  <p>我是第一个P</p>      //我会被选中,我是.p2的前一个元素。
  <p class="p2">我是第二个P</p> 
  <p>我是第三个P</p>        
  <p class="p4">我是第四个P</p>
</div>

   

二十二、prevAll()  获取指定元素前面的所有兄弟元素

    语法:prevAll(expr)  expr:可选,排除所有不能够被expr匹配上的元素

$(".p4").prevAll(".p2");    
<div>
  <p>我是第一个P</p>        //不会被选中,虽然我是.p4前面的兄弟元素,但是我没有class=p2
  <p class="p2">我是第二个P</p>  //会被选中,我既是.p4前面的兄弟元素,而且我有class=p2
  <p>我是第三个P</p>        //不会被选中,虽然我是.p4前面的兄弟元素,但是我没有class=p2
  <p class="p4">我是第四个P</p>  
</div>

   

二十三、prevUntil()  获取指定元素前面的所有兄弟元素,直到参数里的条件能够匹配到的。 注意参数条件本身不会被匹配

    语法:prevUntil([expr|ele][,fil])  expr匹配表达式 | DOM元素匹配

$(".p4").prevUntil(".p2");    
<div>
  <p>我是第一个P</p>        //不会被选中,到p2就停止了
  <p class="p2">我是第二个P</p>  //不会被选中,我是停止条件,不包括我
  <p>我是第三个P</p>        //会被选中,我在.p2前,递归到我在到.p2
  <p class="p4">我是第四个P</p>  //不会被选中,我自己怎么可能是我自己前面的呢?
</div>

   

/********************  串联 *******************************/

二十四、siblings()  获取指定元素的兄弟元素,不分前后

    语法:siblings(expr);  expr为筛选条件,不符合条件的不会选中

$(".p2").siblings();    
<div>
  <p>我是第一个P</p>        //会被选中,我是.p2的兄弟元素
  <p class="p2">我是第二个P</p>  //不会被选中,我是自己
  <p>我是第三个P</p>        //会被选中,我是.p2的兄弟元素
  <p class="p4">我是第四个P</p>  //会被选中,我是.p2的兄弟元素
</div>

   

二十五、add()  将选中的元素添加到jQuery对象集合中

    add(expr|elements|html|jQueryObject)  expr:选择器表达式 | DOM表达式 | Html片段 | jQuery对象,将jQuery对象集合一起方便操作;

$(".p2").add("span").css("background-color","red");    
<div>
  <p>我是第一个P</p>        
  <p class="p2">我是第二个P</p>  //会变红
  <p>我是第三个P</p>        
  <p class="p4">我是第四个P</p>  
</div>
<span>我是一个span</span>      //会变红

   

二十六、andSelf()  将自身加到选中的jQuery集合中,以方便一次性操作

    andSelf()  此方法无参数

$(".p2").nextAll().andSelf().css("background-color","red");
<div>
  <p>我是第一个P</p>        
  <p class="p2">我是第二个P</p>  //会变红,这就是andSelf()的效果
  <p>我是第三个P</p>        //会变红
  <p class="p4">我是第四个P</p>  //会变红
</div>

   

二十七、end()      将改变当前选择器选中的操作回退为上一个状态。

    end()   此方法没有参数

$(".p2").next().end().css("background-color","red");
<div>
  <p>我是第一个P</p>        
  <p class="p2">我是第二个P</p>  //会变红,这就end()的效果
  <p>我是第三个P</p>        //不会变红,尽管next()方法之后选中的是这一个,但是由于被end()方法回退了因此是上一个。
  <p class="p4">我是第四个P</p>
</div>

   



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.