jQuery

jQuery_sideways메소드

climb-up 2022. 4. 19. 01:05

객체 탐색

탐색 메소드

sideways메소드

 

.siblings() : 나랑 동일한 레벨에 있는 요소들의 리턴

 

.siblings('지정태그') : 지정태그만 지정한다.

 

next() : 뒤에 있는 요소에 설정

 

nextAll() : 뒤에 있는 모든 요소에 설정

 

nextUntil('지정태그') : 지정태그까지 지정. 단, 지정태그 제외

 

prev() : 선택요소의 이전 선택

 

prevAll() : 선택요소의 이전 모든 형제 요소 선택

 

prevUntil() : 매개변수가 다 비어있으면 이전 모든 형제요소 반환

prevUntil('p') : p태그를 제외하고 이전 모든 형제들 요소 반환

 

<style>
	.wrap, .wrap *{
		border: 1px solid lightgray;
		display: block; padding: 5px; margin: 15px;
	}
</style>
</head>
<body>
	<h2>탐색 메소드</h2>
	<div class="wrap">div(parent)
		<p>p</p>
		<span>span</span>
		<h4>h4</h4>
		<h5>h5</h5>
		<p>p</p>
	</div>
	<script>
		$(function(){
			$('h4').siblings().css({'border':'2px solid red','color':'red'});
			//.siblings(): 나랑 동일한 레벨에 있는 요소들 리턴
			$('h4').siblings('p').css({'border':'2px solid orange','color':'orange'});
			//p태그만 지정가능
			$('h4').next().css({'border':'2px solid blue','color':'blue'});
			//next(): 뒤에있는 요소에 설정
			$('h4').nextAll().css('font-size','50px');
			//nextAll(): 뒤에 있는 모든 요소에 설정
			$('h4').nextUntil('p').css('border','dashed');
			//:p까지인테 p는 제외
			$('h4').prev().css({'background':'red','color':'white'});
			$('h4').prevAll().css({'background':'beige','color':'red'});
			//동위선상
			$('h4').prevUntil('p').css('border','double');
			//더블 span에만 두줄로나온다.
		});
	</script>
</body>

지정 칸을 클릭하면 그 행의 정보가 반환

<예시>

<style>
	.wrap, .wrap *{
		border: 1px solid lightgray;
		display: block; padding: 5px; margin: 15px;
	}
</style>
</head>
<body>
	<h1>객체 탐색</h1>
	<hr><hr>
	
	<h2>탐색 메소드</h2>
	<h3>sideways메소드</h3>
	<div class="wrap">div(parent)
		<p>p</p>
		<span>span</span>
		<h4>h4</h4>
		<h5>h5</h5>
		<p>p</p>
	</div>
	<script>
		$(function(){
			$('h4').siblings().css({'border':'2px solid red','color':'red'});
			//.siblings(): 나랑 동일한 레벨에 있는 요소들 리턴
			$('h4').siblings('p').css({'border':'2px solid orange','color':'orange'});
			//p태그만 지정가능
			$('h4').next().css({'border':'2px solid blue','color':'blue'});
			//next(): 뒤에있는 요소에 설정
			$('h4').nextAll().css('font-size','50px');
			//nextAll(): 뒤에 있는 모든 요소에 설정
			$('h4').nextUntil('p').css('border','dashed');
			//:p까지인테 p는 제외
			$('h4').prev().css({'background':'red','color':'white'});
			$('h4').prevAll().css({'background':'beige','color':'red'});
			//동위선상
			$('h4').prevUntil('p').css('border','double');
			//더블 span에만 두줄로나온다.
		});
	</script>
	
	<h2>객체 탐색 테스트</h2>
	<table border="1">
		<tr>
			<th>이름</th>
			<th>나이</th>
			<th>취미</th>
		</tr>
		<tr>
			<td>강건강</td>
			<td>25</td>
			<td>운동</td>
		</tr>
		<tr>
			<td>남나눔</td>
			<td>17</td>
			<td>요리</td>
		</tr>
		<tr>
			<td>도대담</td>
			<td>30</td>
			<td>등산</td>
		</tr>
	</table>
	<label>선택한 게시물 : </label>
	<label id="selectName" onclick=function()></label> /
	<label id="selectAge"></label> /
	<label id="selectHobby"></label>
	
	<script>
		$(function(){
			$('tr').click(function(){
				var tdNodes = $(this).children('td');//자기자신('tr')안에 td-->펑션클릭메소드에 tr지정해서
				console.log(tdNodes[0]);//강건강
				console.log(tdNodes[0].innerText);
				
				$('#selectName').text(tdNodes[0].innerText);
				$('#selectAge').text(tdNodes[1].innerText);
				$('#selectHobby').text(tdNodes[2].innerText);
				
				console.log(tdNodes.eq(0).text());//0번째 인덱스한테 텍스트가져오게함
				$('#selectName').text(tdNodes.eq(0).text());
				$('#selectAge').text(tdNodes.eq(1).text());
				$('#selectHobby').text(tdNodes.eq(2).text());
				
			});
			
		});
	</script>
	
	
</body>