j

jQuery Selector - 속성 Attribute

· 12년 전 · 2109

개체의 속성값을 통해 요소를 선택하자 - Attribute Selector

각각의 요소는 속성(attribute)을 가질 수 있습니다. 각 요소의 속성은 미리 정해진 이름이거나, 사용자의 필요에 의해서 만들어질 수 있으며 jQuery의 CSS 셀렉터와 필터의 조합으로 통해 관련된 요소에 접근 할 수 있습니다.
다음은 jQuery에서 지원하고 있는 속성관련 셀렉터 입니다. (더 많은 종류의 속성관련 셀렉터를 지원하고 있으니 자세한 내용은 jQuery.com에서 확인을 하시기 바랍니다.)

 

형식(셀렉터)

설명

$(Selector[attr])

attr 속성(attribute)값을 가지는 Selector 요소와 일치

$(Selector[attr=”value”])

attr 속성의 값이 value와 동일한 값인 Selector 요소와 일치

$(Selector[attr!=”value”])

attr 속성의 값이 value와 같지 않은 값인 Selector 요소와 일치

$(Selector[attr^=”value”])

attr 속성의 값이 value 값으로 시작하는 Selector 요소와 일치

$(Selector[attr$=”value”])

attr 속성의 값이 value 값으로 끝나는 Selector 요소와 일치

$(Selector[attr*=”value”]) attr 속성의 값이 value 값을 포함하는 Selector 요소와 일치
$(Selector[attr~=”value”]) attr 속성의 값이 공백과 함께 value 값을 포함하는 Selector 요소와 일치

 

 

Has Attribute Selector : $(Selector[attr])
attr이라는 속성(Attribute)값을 가지는 셀렉터의 요소와 일치하는 요소를 반환합니다.
input, checkbox, src, href등 “<”, “>” 사이에 정의된(사용자가 임의로 정의한 값 포함) 값에 대해 일치하는 항목이 존재 한다면 해당 요소를 반환합니다.

다음은 “a” 태그의 속성 “target”이 존재하는 요소를 선택하는 예제입니다. 

<html xmlns="http://www.w3.org/1999/xhtml"><head>    <title>jQuery Selector</title>    <link href="../Styles/Site.css" rel="stylesheet" type="text/css" />        <style>        div { background : #FFF; padding:10px; margin:10px; }    </style>    <script src="http://code.jquery.com/jquery-latest.js"></script>    <script type="text/javascript">        $(document).ready(function () {            $("div > a[target]").css("background", "#CCC");        });    </script></head><body style="padding:10px;">    <h2>jQuery 시작 Selector</h2>    <p>jQuery에 대한 자세한 내용을 보려면 jquery.com 을 방문하세요.</p>    <div>        <a href="http://www.slqer.com">SQLER.COM (No Target)</a><br />        <a href="http://www.slqer.com" target="_blank">SQLER.COM (Target)</a><br />        <a href="http://www.hoons.kr">Hoons.NET (No Target)</a><br />        <a href="http://www.hoons.kr" target="_blank">Hoons.NET (Target)</a><br />        <a href="http://www.hows.kr">HowsNET (No Target)</a><br />        <a href="http://www.hows.kr" target="_blank">HowsNET (No Target)</a><br />    </div></body></html>

 

04_001.jpg

 

 

 

Attribute Equals Selector : $(Selector[attr=”value”])
셀렉터의 요소중 attr 과 value의 값이 동일한 요소를 찾아 반환합니다.
다음 예제는 HTML 문서에 존재하는 링크중에 http://www.sqler.com인 요소를 찾아 표시 합니다.

 

<html xmlns="http://www.w3.org/1999/xhtml"><head>    <title>jQuery Selector</title>    <link href="../Styles/Site.css" rel="stylesheet" type="text/css" />        <style>        div { background : #FFF; padding:10px; margin:10px; }    </style>    <script src="http://code.jquery.com/jquery-latest.js"></script>    <script type="text/javascript">        $(document).ready(function () {            $("div > a[href='http://www.sqler.com']").css("background", "#CCC");        });    </script></head><body style="padding:10px;">    <h2>jQuery 시작 Selector</h2>    <p>jQuery에 대한 자세한 내용을 보려면 jquery.com 을 방문하세요.</p>                <div>        <p>            다음 링크중에 href 값이 "http://www.sqler.com"인 요소를 표시합니다.        </p>        <a href="http://www.sqler.com">SQLER.COM (No Target)</a><br />        <a href="http://www.sqler.com" target="_blank">SQLER.COM (Target)</a><br />        <a href="http://www.hoons.kr">Hoons.NET (No Target)</a><br />        <a href="http://www.hoons.kr" target="_blank">Hoons.NET (Target)</a><br />        <a href="http://www.hows.kr">HowsNET (No Target)</a><br />        <a href="http://www.hows.kr" target="_blank">HowsNET (No Target)</a><br />    </div></body></html>

04_002.jpg

 

 

 

Attribute Not Equals Selector : $(Selector[attr!=”value”])
바로 앞에서 설명한 셀렉터와는 반대로 이번 셀렉터는 요소중 attr의 값이 value가 아닌 요소를 찾아 반환합니다. 앞의 예제를 활용하여 간단히 알아 보도록 하겠습니다.
앞에서 설명한 예제 코드에서 다음 부분만 변경을 해 보겠습니다.

 

<script type="text/javascript">        $(document).ready(function () {            $("div > a[href='http://www.sqler.com']").css("background", "#DDD");        });</script>[변경전]<script type="text/javascript">        $(document).ready(function () {            $("div > a[href!='http://www.sqler.com']").css("background", "#CCC");        });</script>[변경후]


04_003.jpg 

 

 

 

Attribute Starts With Selector : $(Selector[attr^=”value”])
지정된 속성의 값으로 시작되는 요소와 일치하는 요소를 찾아 반환합니다.
일정한 패턴으로 정의된 속성이 있을경우 해당 셀렉터를 사용하면 매우 유용합니다. 다음 예제를 통해 간단히 알아 보도록 하겠습니다.

  

<html xmlns="http://www.w3.org/1999/xhtml"><head>    <title>jQuery Selector</title>    <link href="../Styles/Site.css" rel="stylesheet" type="text/css" />        <style>        div { background : #FFF; padding:10px; margin:10px; }    </style>    <script src="http://code.jquery.com/jquery-latest.js"></script>    <script type="text/javascript">        $(document).ready(function () {            $("div[id^='content-']").css("background", "#CCC");        });    </script></head><body style="padding:10px;">    <h2>jQuery 시작 Selector</h2>    <p>jQuery에 대한 자세한 내용을 보려면 jquery.com 을 방문하세요.</p>    <div>        <p>            "id"가 "content"로 시작하는 요소를 표시합니다.        </p>        <div id="content-1">DIV Content-1</div>        <div id="content-2">DIV Content-2</div>        <div id="view-1">DIV View-1</div>        <div id="content-3">DIV Content-3</div>            </div></body></html>

 

04_004.jpg 

 

 

 

Attribute Ends With Selector : $(Selector[attr$=”value”])
지정된 속성의 값으로 끝나는 요소와 일치하는 요소를 찾아 반환합니다.
앞에서 설명한 예제 코드에서 다음 부분만 변경을 해 보겠습니다. 

$("div[id$='1']").css("background", "#CCC");

04_005.jpg  

 

 

 

Attribute Contains Selector : $(Selector[attr*=”value”])
지정된 속성의 값이 포함된 요소와 일치하는 요소를 찾아 반환합니다. 

<html xmlns="http://www.w3.org/1999/xhtml"><head>    <title>jQuery Selector</title>    <link href="../Styles/Site.css" rel="stylesheet" type="text/css" />        <style>        div { background : #FFF; padding:10px; margin:10px; }    </style>    <script src="http://code.jquery.com/jquery-latest.js"></script>    <script type="text/javascript">        $(document).ready(function () {            $("input[name*='man']").css("background", "yellow");        });    </script></head><body style="padding:10px;">    <h2>jQuery 시작 Selector</h2>    <p>jQuery에 대한 자세한 내용을 보려면 jquery.com 을 방문하세요.</p>    <div>        <p>"name"값에 man이 포함된 요소를 표시합니다.</p>        <input name="man" value="name is man" /><br />        <input name="superman" value="name is superman" /><br />        <input name="iron man" value="name is iron man" /><br />        <input name="bat man" value="name is bat man" /><br />        <input name="joker" value="name is joker"/><br />        <input name="manual" value="name is manual"/><br />            </div></body></html>


04_006.jpg 

 

Name 값의 문자열에 “man”과 일치하는 항목이 있으면 무조건 해당 요소를 선택하며, 마지막 항목 “manual”도(man이 포함된 문자열도 일치하는 항목으로 선택) 함께 선택된 모습을 확인 할 수 있습니다.

 

 

Attribute Contains Word Selector : $(Selector[attr~=”value”])
지정된 속성의 값이 공백과 함께 일치하는 요소를 찾아 반환합니다.
$(input[name*=”man”])의 경우 “man, superman, iron man, manual”… 에 대한 모든 항목에 대해 일치하지만 $(input[name~=”man”])의 경우 “man”과 정확히 일치하는 요소만 반환합니다. 앞의 셀렉터는 문자에 대해서 일치하는 항목을 찾았다면, 두번째의 경우는 단어의 단위로 일치하는 요소를 찾아 반환을 합니다.
앞에서 설명한 예제 코드에서 $(input[name*=”man”]) 부분을 $(input[name~=”man”])로 변경 후의 결과를 보면 다음과 같습니다.


04_007.jpg

 

앞의 결과와는 전혀 다르게 요소가 선택된 결과를 보이며, “man”이란 단어 단위로 정확하게 일치하는 요소에 대해서만 선택된 모습을 확인 할 수 있습니다. 성값을 이용한 요소의 선택은 기본 셀렉터를 이용하는 것 보다는 느리나, 보다 정확하게 원하는 요소에 접근 할 수 있다는 장점이 있습니다.

 

속성값을 이용하여 요소를 선택하기 앞서 클래스나 DOM을 이용한 요소의 선택 방법이 있다면 해당 방법을 사용 하길 권해드립니다.

|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

태그 필터 (최대 3개) 전체 개발자 소스 기타 mysql 팁자료실 javascript php linux flash 정규표현식 jquery node.js mobile 웹서버 os 프로그램 강좌 썸네일 이미지관련 도로명주소 그누보드5 기획자 견적서 계약서 기획서 마케팅 제안서 seo 통계 서식 통계자료 퍼블리셔 html css 반응형 웹접근성 퍼블리싱 표준화 반응형웹 홈페이지기초 부트스트랩 angularjs 포럼 스크린리더 센스리더 개발자톡 개발자팁 퍼블리셔톡 퍼블리셔팁 기획자톡 기획자팁 프로그램강좌 퍼블리싱강좌
+
제목 글쓴이 날짜 조회
12년 전 조회 1,888
12년 전 조회 6,860
12년 전 조회 2,699
12년 전 조회 923
12년 전 조회 884
12년 전 조회 1,618
12년 전 조회 2,269
12년 전 조회 1,106
12년 전 조회 928
12년 전 조회 1,548
12년 전 조회 1,680
12년 전 조회 915
12년 전 조회 1,322
12년 전 조회 1,614
12년 전 조회 998
12년 전 조회 1,289
12년 전 조회 3,894
12년 전 조회 1,636
12년 전 조회 1,166
12년 전 조회 1,056
12년 전 조회 1,436
12년 전 조회 1,667
12년 전 조회 4,441
12년 전 조회 5,788
12년 전 조회 915
12년 전 조회 2,481
12년 전 조회 6,943
12년 전 조회 2,603
12년 전 조회 9,555
12년 전 조회 740
12년 전 조회 942
12년 전 조회 1,567
12년 전 조회 1,885
12년 전 조회 1,533
12년 전 조회 2,160
12년 전 조회 2,564
12년 전 조회 3,413
12년 전 조회 2,379
12년 전 조회 2,556
12년 전 조회 2,537
12년 전 조회 1,820
12년 전 조회 1,618
12년 전 조회 1,254
12년 전 조회 1,448
12년 전 조회 2,243
12년 전 조회 1,802
12년 전 조회 1,497
12년 전 조회 2,523
12년 전 조회 2,283
12년 전 조회 2,110
12년 전 조회 1,855
12년 전 조회 2,545
12년 전 조회 1,332
12년 전 조회 1,005
12년 전 조회 624
12년 전 조회 767
12년 전 조회 1,277
12년 전 조회 2,700
12년 전 조회 2,702
12년 전 조회 1,777
12년 전 조회 1,408
12년 전 조회 1,185
12년 전 조회 9,327
12년 전 조회 812
12년 전 조회 1,782
12년 전 조회 1,370
12년 전 조회 1,809
12년 전 조회 2,016
12년 전 조회 1,204
12년 전 조회 1,794
12년 전 조회 2,440
12년 전 조회 1,563
12년 전 조회 1,499
12년 전 조회 1,424
12년 전 조회 7,646
12년 전 조회 1,536
12년 전 조회 1,401
12년 전 조회 2,184
12년 전 조회 1,188
12년 전 조회 1,708
12년 전 조회 1,319
12년 전 조회 1,261
12년 전 조회 3,054
12년 전 조회 1.1만
12년 전 조회 3,202
12년 전 조회 3,064
12년 전 조회 1,587
12년 전 조회 2,944
12년 전 조회 1,049
12년 전 조회 1,949
12년 전 조회 1,367
12년 전 조회 1,679
12년 전 조회 1,426
12년 전 조회 1,710
12년 전 조회 3,825
12년 전 조회 2,095
12년 전 조회 1,137
12년 전 조회 5,462
12년 전 조회 1,424
12년 전 조회 1,409