loading
반응형

이번 정리할 내용은 속성을 사용하여 요소 선택을 하는 총 다섯 가지 선택하는 방법에 대해 정리해 본다.

이 다섯 가지 선택자에 대한 예제 샘플을 보면서 확인해 보자.

 

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <script src="https://code.jquery.com/jquery-3.1.0.js"></script>
  <title>JS Bin</title>
  <script>
    $(document).ready(function(){
        $('a[href^="http://"]').css({'color':'green'}); // ----1
        $('div[title^="Tag"]').css({'border':'2px solid red'}); // ----2
        $('a[href$=".pdf"').css({'background':'yellow'}); // ----3
        $('p[class|="main"]').css({'color':'red'}); // ----4
        $('article[data-index-number~="12314"]').css({'background':'blue', 'color':'white'}); // ----5
    });
  </script>
</head>
<body>
    <div title="aTagHttp">
        <h2>첫 번째 테스트</h2>
        <a href="http://naver.com">네이버</a>
        <a href="http://daum.net">다음</a>
        <a href="https://google.com">구글</a>
    </div>
    <hr>
    <div title="TagSelect">
        <h2>두번 째 테스트</h2>
    </div>
    <hr>
    <div title="pdfLink">
        <h2>세번 째 테스트</h2>
        <a href="pathUrl/fileName.pdf">pdf 링크</a>
    </div>
    <hr>
    <div title="className">
        <h2>네번 째 테스트</h2>
        <p class="main-first"> 내용 콘텐츠 -1</p>
        <p class="main-two"> 내용 콘텐츠 -2</p>
        <p class="thr-main"> 내용 콘텐츠 -3</p>
        <p class="main"> 내용 콘텐츠 - 4</p>
    </div>
    <hr>
    <div title="dataSelect">
        <article data-columns="3" data-index-number="12314" data-parent="cars">
          <h2>다섯 번째 테스트</h2>
        </article>
    </div>  
</body>
</html>

 

위 코드를 복사해서 직접 테스트를 하면 바로 감이 올 것이다.

자 하나씩 설명해보자.

 

▶ 속성을 사용하여 요소 선택 방법  1번

$('a [href^="http://"]'). css({'color':'green'}); // ----1
→ http:// 로 시작하는 href 값이 있는 링크를 선택할 수 있다.
$('a[href^="http://"]')

이렇게 a 태그의 링크 중 http:// 로 시작되는 모든 태그를 선택할 수 있다. 위 선택자를 보면

a [href^="http://"] 이렇게 있는데 이 중 캐럿 문자^ 이 부분을 의미하는 바는 http:// 이 값을 찾기 위해

일치가 값의 시작 부분에서 발생해야 함을 지정하는 데 사용된다.

 

결론은 저렇게 선택자를 사용하면 a 태그 중 href의 링크 값 중 http://  이렇게 시작하는 태그를 전부

선택할 수 있다. 위 HTML 코드를 실행해보면, 구글 a 태그 부분에 https:// 이렇게 해놨는데 이 부분이

제외되는 현상을 볼 수 있다.

 

 

▶ 속성을 사용하여 요소 선택 방법  2번

$('div [title^="Tag"]'). css({'border':'2px solid red'}); // ----2
→ div 태그 중 Tag로 시작하는 title 속성이 있는 모든 div 요소가 선택된다.
$('div[title^="Tag"]')

이 선택 방법도 보면 div [title^="Tag"] 이 부분에 캐럿 문자 ^ 있는데 1번 설명과 내용은 같다.

Tag글자를 검색해 같으면 전부 찾는다.

 

 

▶ 속성을 사용하여 요소 선택 방법  3번

$('a [href$=". pdf"'). css({'background':'yellow'}); // ----3
→ a 태그의 href 링크 중 pdf를 참조하는 모든 a 태그를 요소를 선택한다.
$('a[href$=".pdf"')

선택자 a [href$=". pdf"] 중에 이번엔 ^ 캐럿 문자가 아닌 $ 달러 기호가 쓰였다. 이 의미도 크게 다를 바가

없다. 해석은 a 태그의 href 링크 중에 pdf 파일을 참조하는 모든 링크를 찾아 선택한다.

 

 

▶ 속성을 사용하여 요소 선택 방법  4번

$('p [class|="main"]'). css({'color':'red'}); // ----4
→ p 태그의 클래스 명 중 main 글자가 있거나 main으로 시작하는 클래스 이름이 있다면 전부 선택된다.
$('p[class|="main"]')

이 선택자를 보면 p [class|="main"] 중 | 기호는 지금까지 알아본 의미와 비슷하다.

단지 이 선택자는 p 태그의 class 명중 main 이거나 main으로 시작하는 모든 요소들을 선택한다.

당연 p 태그 말고도 div, span 등등 많은 태그 요소들이 들어갈 수 있다.

 

결론은 클래스명 중 같거나 아니면 시작하는 단어가 같으면 해당되는 요소들을 전부 선택한다

라고 생각하면 된다.

 

 

▶ 속성을 사용하여 요소 선택 방법  5번

$('article [data-index-number~="12314"]'). css({'background':'blue', 'color':'white'}); // ----5
→ 데이터 속성을 사용하는 요소만 선택하는 선택 자이다.
$('article[data-index-number~="12314"]')

위 HTML  코드를 보면 article 태그에 data- 속성을 사용하여 태그를 작성하였다. 

선택자를 보면 article [data-index-number~="12314"]  ~ 기호도 다른 것과 사용하는 

의미는 비슷하다. 이렇게 data- 속성으로 작성된 태그 요소에도 위 방법으로 요소를

선택할 수 있다.

 

 

이렇게 다섯 가지 방법으로 요소를 선택하는 방법을 알아봤는데 각각 선택하는 요소마다 들어가는

기호 문자들은 달랐지만 의미는 같았다.

 

이렇게 여러 가지 방법으로 요소를 선택하는 방법에 있어서 링크, 파일명, 클래스 명 등등 각각 선택하고자

하는 방법에 맞게 기호를 적용해서 요소를 선택하면 될 것 같다.

 

 

반응형

+ Recent posts