Post

jQuery 선택자

jQuery 선택자란?

▶ jQuery의 선택자는 HTML 문서에서 요소를 선택하기 위해 사용되는 표현식입니다. jQuery를 사용하면 CSS 선택자와 유사한 방식으로 요소를 선택할 수 있고 아래와 같은 형식을 기본으로 사용합니다.
그 외에 다양한 선택자 종류를 표로 알아봅니다.

1
$(selector)


01. 기본 선택자

선택자 종류 설명
태그 선택자$(“p”)p요소를 선택함
id 선택자$(“#gnb”)#gnb요소를 선택함
class 선택자$(“.logo”).logo요소를 선택함
자식 선택자$(“#gnb > ul > li”)#gnb의 자식요소의 자식요소 li를 선택함
하위 선택자$(“#gnb ul)#gnb의 하위에 있는 모든 ul요소를 선택함
인접 선택자$(“#visual + #content”)#visual요소 다음에 오는 #content요소를 선택함
형제 선택자$(“#visual ~ #footer””)#visual요소의 형제 요소인 #footer를 선택함
종속 선택자$(“div.util”)div요소 중 class가 util인 요소를 선택함
그룹 선택자$(“.left, .right, #banner”).left, .right, #banner요소들을 선택함
전체 선택자$(“*”)모든 요소를 선택함


02. 속성 선택자

선택자 종류 설명
요소[속성]$(“span[class]”)span요소 중 class속성을 가진 요소를 선택함
요소[속성=’값’]$(“span[class=’abc’]”)span요소 중 class가 ‘abc’인 요소를 선택함
요소[속성!=’값’]$(“span[class!=’abc’]”)span요소 중 class가 ‘abc’가 아닌 요소를 선택함
요소[속성~=’값’]$(“span[class~=’abc’]”)span요소 중 class가 ‘abc’를 포함하는 요소를 선택함
요소[속성*=’값’]$(“span[class*=’abc’]”)span요소 중 class가 ‘abc’를 포함하는 요소를 모두 선택함
요소[속성│=’값’]$(“span[class│=’abc’]”)span요소 중 class가 ‘abc’나 ‘abc-‘로 시작하는 요소를 선택함
요소[속성^=’값’]$(“span[class^=’abc’]”)span요소 중 class가 ‘abc’로 시작하는 요소를 선택함
요소[속성$=’값’]$(“span[class$=’abc’]”)span요소 중 class가 ‘abc’로 끝나는 요소를 선택함

🔔 $(“span[class~=’abc’]”)의 형식으로 사용할 경우 ‘abc’ 앞뒤로 연결된 문자가 없어야 합니다.
즉, ‘bg abc’는 선택되나 ‘bg_abc’는 선택되지 않습니다.


03. 필터 선택자

① 필터 선택자의 종류

선택자 종류 설명
:even$(“tr:even”)tr요소 중 짝수 행만 선택함
:odd$(“tr:odd”)tr요소 중 홀수 행만 선택함
:first$(“td:first”)첫번째 td요소를 선택함
:last$(“td:last”)마지막 td요소를 선택함
:header$(“:header”)헤딩(h1~h6) 요소를 선택함
:eq()$(“li:eq(0)”)index가 0인 li요소를 선택함. index는 0번이 첫번째 요소
:gt()$(“li:gt(0)”)index가 0보다 큰 li요소를 선택함
:lt()$(“li:lt(2)”)index가 2보다 작은 li요소를 선택함
:not()$(“li:not(.bg)”)li요소 중 class명이 bg가 아닌 요소를 선택함
:root$(“:root”)html을 의미함
:animated$(“:animated”)움직이는 요소를 선택함


② 자식 필터 선택자의 종류

선택자 종류 설명
:first-child$(“span:first-child”)첫번째 span요소를 선택함
:last-child$(“span:last-child”)마지막 span요소를 선택함
:first-of-type$(“span:first-of-type”)span요소 중 첫번째 span요소를 선택함
:last-of-type$(“span:last-of-type”)span요소 중 마지막 span요소를 선택함
:nth-child$(“span:nth-child(2)”)두번째 span요소를 선택함. 2n은 짝수 요소만, 2n+1은 홀수 요소만
:nth-last-child$(“span:nth-last-child(2)”)마지막에서 두번째 span요소를 선택함
:nth-of-type$(“span:nth-of-type(2)”)span요소 중 두번째 span요소를 선택함
:nth-last-of-type$(“span:nth-last-of-type(2)”)span요소 중 마지막 span요소를 선택함
:only-child$(“div > span:only-child”)div의 자식요소에서 오직 span요소가 하나만 있는 span요소를 선택함
:only-of-type$(“div > span:only-of-type”)div의 자식요소에서 span요소가 하나만 있는 span요소를 선택함

🔔 child가 붙은 선택자는 요소가 순차적으로 나열되어 있을 때 사용하고,
of-type이 붙은 선택자는 순차적이 아니더라도 동일한 요소면 선택이 가능합니다.


③ 콘텐츠 필터 선택자의 종류

선택자 종류 설명
:contains()$(“p:contains(‘html’)”)p요소 중 html텍스트를 포함하고 있는 p요소를 선택함
:empty$(“div:empty”)div요소 중 자식 요소가 없는 div요소를 선택함
:parent$(“span:parent”)span요소 중 자식 요소가 있는 span요소를 선택함
:has$(“section:has(article)”)section요소 중 article을 하위 요소로 갖고 있는 section요소를 선택함


④ 폼 필터 선택자의 종류

선택자 종류 설명
:text$(“input:text”)/input type=”text”/요소를 선택함
:password$(“input:password”)/input type=”password”/요소를 선택함
:image$(“input:image”)/input type=”image”/요소를 선택함
:file$(“input:file”)/input type=”file”/요소를 선택함
:button$(“:button”)/input type=”button”/, /button/요소를 선택함
:checkbox$(“input:checkbox”)/input type=”checkbox”/요소를 선택함
:radio$(“input:radio”)/input type=”radio”/요소를 선택함
:submit$(“input:submit”)/input type=”submit”/요소를 선택함
:reset$(“input:reset”)/input type=”reset”/요소를 선택함
:input$(“:input”)모든 /input/요소를 선택함
:checked$(“input:checked”)/input/요소에 checked 속성이 있는 요소를 선택함
:selected$(“option:selected”)/option/요소에 selected 속성이 있는 요소를 선택함
:focus$(“input:focus”)현재 /input/요소에 focus가 있는 요소를 선택함
:disabled$(“input:disabled”)/input/요소에 disabled속성이 있는 요소를 선택함
:enabled$(“input:enabled”)/input/요소 중 enabled가 아닌 요소를 선택함


⑤ 가시성 필터 선택자의 종류

선택자 종류 설명
:hidden$(“div:hidden”)div요소 중 hidden인 요소를 선택함
:visible$(“div:visible”)div요소 중 visible인 요소를 선택함


04. 탐색 선택자

① 기본 탐색 선택자의 종류

선택자 종류 설명
children()$(“div”).children()div요소의 자식 요소를 선택함
parent()$(“p”).parent()p요소의 부모 요소를 선택함
parents()$(“p”).parents(“div”)p요소의 부모가 되는 모든 div 요소를 선택함
closet()$(“p”).closet(“div”)p요소의 부모가 되는 첫번째 div 요소를 찾음
next()$(“div.m”).next()div.m요소의 다음 요소를 선택함
nextAll()$(“div.m”).nextAll()div.m요소의 다음 요소들을 모두 선택함
nextUntil()$(“div.m”).nextUntil(“p”)div.m 다음 요소부터 p요소 전까지의 요소를 선택함
prev()$(“div.m”).prev()div.m요소의 이전 요소를 선택함
prevAll()$(“div.m”).prevAll()div.m요소의 이전 요소들을 모두 선택함
prevUntil()$(“div.m”).prevUntil(“p”)div.m이전 요소부터 p요소 다음 요소까지를 선택함
siblings()$(“div”).siblings(“p”)div요소의 형제 요소 중 p요소를 선택함
find()$(“div”).find(“span”)div의 하위요소 중 span요소를 선택함
filter()$(“div”).filter(“.m”)div요소 중 class가 m인 요소를 선택함
not()$(“div”).not(“.m”)div요소 중 class가 m이 아닌 요소를 선택함
has()$(“div”).has(“span”)div요소 중 span요소를 포함하고 있는 요소를 선택함
eq()$(“div”).eq(0)div요소 중 index가 0인 요소들을 선택함. index 0번이 첫번째 요소
gt()$(“div”).gt(0)index가 0보다 큰 div 요소들을 선택함
lt()$(“div”).lt(3)index가 3보다 작은 div 요소들을 선택함


② 기타 탐색 선택자의 종류

선택자 종류 설명
add()$(“div”).add(“p”)div요소와 p요소를 선택함
addBack()$(“div”).children(“p”).addBack()p요소와 이전 선택요소 div를 선택함
end()$(“div”).find(“span”).css(…).end().find(“em”).css(…)까지의 실행이 끝나면 다시 $(“div”)로 돌아와 find(“em”)부터 실행
is()if(“div”).children().is(“p”)선택한 요소를 판별해주는 선택자로 보통 if문의 조건식으로 사용
This post is licensed under CC BY 4.0 by the author.