JQuery 필터
eq
- equal(=)의 의미
- 배열처럼 0번째부터 시작
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$("li").eq(2).css("color", "red");
//$("li:eq(2)").css("color", "red");
not
- 부정(제외, 아닐 경우)을 의미
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$("li").not(":eq(2)").css("color", "red");
//$("li:not(:eq(2))").css("color", "red");
lt
- less than의 약어(미만, ~ 보다작다)
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$("li:lt(2)").css("color", "red");
gt
- great than의 약어(초과, ~ 보다크다)
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$("li:gt(0)").css("color", "red");
even
- 짝수번째에 해당하는 요소
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$("li").even().css("color", "red");
// $("li:even").css("color", "red");
//0번째,2번째가 짝수번째 인덱스이기 때문에 1,3이 빨강
odd
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$("li").odd().css("color", "red");
// $("li:odd").css("color", "red");
// 1번째 인덱스가 홀수번째 인덱스이기 때문에 2가 빨강
first / first-child
- 첫번째 요소를 지목
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$("li").first().css("color", "red");
// $("li:first").css("color", "red");
// $("li:first-child").css("color","red");
last / last-child
- 마지막 요소를 지목
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$("li").last().css("color", "red");
// $("li:last").css("color", "red");
// $("li:last-child").css("color","red");
nth-child()
- 몇번째 순서에 있는 요소를 지목
- 요소 시작 순서는 1
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
$("li:nth-child(2)").css("color", "red");
속성 필터[]
[]
안에 들어간 속성이 있는 요소들을 지목
<div>
<p>1</p>
<p class="this">2</p>
<p>3</p>
<button class="this">클릭1</button>
<button>클릭2</button>
<button class="this">클릭3</button>
</div>
$("[class]").css("color", "red");
contains()
- 해당 텍스트가 해당될 경우 요소들을 지목
<div>
<p>1</p>
<p>2</p>
<p>3</p>
<button>클릭1</button>
<button>클릭2</button>
<button>클릭3</button>
</div>
$("div :contains('클릭')").css("color", "red");
empty
- 해당 요소안에 텍스트 값이 없는 요소들을 지목
<div>
<p>1</p>
<p></p>
<p></p>
<button>클릭1</button>
<button>클릭2</button>
<button></button>
</div>
$("div :empty").text("Hello!");
danger
$("div :empty")
와 $("div *").empty()
는 다르다.
$("div :empty")
: 요소안의 텍스트가 비어있는지 탐색을 하는 것$("div *").empty()
: 요소안의 내용을 전부 비우는 것
<div>
<p>1</p>
<p></p>
<p></p>
<button>클릭1</button>
<button>클릭2</button>
<button></button>
</div>
$("div *").empty().text("Hello!");
has
- 지목되고 있는 태그의 직계자식 혹은 자손들 중 해당 요소를 최소 하나이상 가지고 있으면 지목
<div>
<p>1</p>
<p>2</p>
<p><em>3</em></p>
<button>클릭1</button>
<button>클릭2</button>
<button>클릭3</button>
</div>
$("div:has('em')").css("background-color", "slateblue");
//$("div").has('em').css("background-color", "slateblue");
hidden / visible
hidden
: 숨겨진 요소가 있다면 그 요소를 선택visible
: 표시되고 있는 요소가 있다면 그 요소를 선택
<div>
<p style="display: none;">1</p>
<p>2</p>
<p>3</p>
<button style="display: none;">클릭1</button>
<button>클릭2</button>
<button>클릭3</button>
</div>
:hidden을 show()했을 경우
$("ul :hidden").show();
:visible을 hide()했을 경우
$("ul :visible").hide();