콘텐츠 선택자는 요소 또는 속성의 포함 여부에 따라 특정 요소를 선택하는 선택자
$('#menu li:contains(\'내용3\')').css({border : '1px solid red'});
이라고 jquery를 작성하게되면 내용3 이라는 text를 가진 li만 선택이 된다.
contains()안에 해당 text 반드시 필요.
contains()를 사용할 때 주의점은 ()안에 ''로 선택자를 잡았을경우 안에 text도 ''로 하게되면 오류가 난다. 그래서 선택자와 text를 "",''로 다르게 잡거나 \' \' 역슬래쉬 '를 사용해야 오류가 나지않고 제대로 된다.
$('#menu li').contents().css({border : '1px solid red'});
실행결과를 보면 해당 li가 아닌 자식이 선택되었다.
선택한 요소 중 지정한 태그를 포함하는 요소만 선택한다.
태그명 / 아이디명 / 클래스명
()안에 아무것도 없을경우 아무것도 선택되지 않는다.
$('#menu li').has('span').css({border : '1px solid red'});
<span> 태그를 가진 li는 내용2 text의 li뿐이라서 내용2 li가 선택된다.
$('#menu li').not(':first').css({border : '1px solid red'});
.not() 안에는 CSS선택자를 사용한다.
$('#menu li:first').not().css({border : '1px solid red'});
이렇게 사용할 경우에는 li의 첫 번째만 선택된다.
.not() 안에 아무것도 쓰지않을경우 메서드 실행이 되지않는다.
$('#menu').find('.third').css({border : '1px solid red'});
**첫 번째 방식**
$('#menu li').filter('.third').css({border : '1px solid red'});
filter() 안에는 태그명 / 아이디명 / 클래스명 / CSS선택자가 들어간다.
**두 번째 방식**
var a = [1,2,3,4,5,6,7,8,9,10];
var b = a.filter(function(e){
return e > 5;
}
console.log(b);
$('#menu li:css선택자').index();
ex) console.log($('#menu li:first').index());
실행결과 : 0
제이쿼리 선택자로 잡은걸 index화 시키고 index화 시킨걸 이용해서 javascript 문법을 사용할 수 있다.