안규 공부방

Javascript & JQuery & CSS > has() - 자식 노드가 존재하는가?

등록일 : 2017-07-13 19:53 조회수 : 94,044

has() 함수는 선택된 요소들이 자신의 자식 요소에서 주어진 선택자가 있는지 확인하여 범위를 축소합니다.
 

			.has( selector )
				selector 요소를 찾을 수 있는 선택자 문자열
			.has( contained )
				contained 요소를 찾을 수 있는 DOM 요소

has() 함수를 사용하면 요소 집합의 범위를 축소할 수 있습니다. 주어지는 선택자에 대해 선택될 요소가 있는지

자식 요소들을 탐색하여 새로운 jQuery 집합을 생성해 냅니다.

예제를 보도록 하겠습니다.
 

			<ul>
				<li>list item 1</li>
				<li>list item 2
					<ul>
						<li>list item 2-a</li>
						<li>list item 2-b</li>
					</ul>
				</li>
				<li>list item 3</li>
				<li>list item 4</li>
			</ul>

위 html 구조에 아래 스크립트를 적용시켜 보겠습니다.

$('li').has('ul').css('background-color', 'red');

적용시킨 결과는 item 2와 그 아래 자식요소들의 배경색이 빨간색으로 바뀌게 됩니다.
이유는 item 2가 li이면서 하위 요소로 ul을 지니고 있기 때문입니다.
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.