요소, 속성, 객체 조작 메서드3_jQuery

2022. 1. 21. 12:39ksmart_html_css_js/jQuery

728x90
속성 조작 메서드

- 하나의 객체가 가지고 있는 속성을 등록, 수정, 삭제

- html 속성, css(style), class 속성, 상태 속성 조작

- 선택한 객체가 배열이며, 배열의 원소가 여러개일 경우조작 및 행위에 관련된 메서드 실행 시

   모든 원소가 영향을 받는다.

- 부분적으로 조작이나 행위를 해야 할 경우 원소에 접근하여 조작 및 행위 메서드를 별도로 실행해야한다.

 

attr, removeAttr

- attr : 선택한 대상의 속성의 값을 가지고 오거나 속성을 추가 할 수 있다.

- removeAttr : 선택한 대상의 속성을 제거 할 수 있다.

<button type="button" id="btn01" data-myName="홍길동">속성확인</button>
<button type="button" id="btn02">속성삽입</button>
<button type="button" id="btn03" data-myAddr="전주">속성제거</button>
<script type="text/javascript">
	$(function(){
		$('#btn01').click(function(){
			//속성 id값 가지고 오기
			console.log($(this).attr('id'));
			//date-myName 속성 값 가지고 오기
			console.log($(this).attr('data-myName'));
			//해당 속성이 없을 경우 조회 할 시 undefined 결과값이 나온다.
		});
		$('#btn02').click(function(){
			//data-age 추가와 data-age 속성에 20값 삽입
			$(this).attr('data-age',20);
			console.log(this);
		});
		$('#btn03').click(function(){
			$(this).removeAttr('data-myAddr');
			console.log(this);
		});
	});
</script>

 

prop

- 상태 속성 값을 가지고 오거나 변경한다.

- checked, selected, hidden

- $('선택자').prop('상태속성') -> 상태 속성값을 true | false 로 결과값 반환

- $('선택자').prop('상태속성', true | false) -> 상태 속성 변경

<input type="checkbox" class="my-check">
<input type="checkbox" class="my-check">
<input type="checkbox" class="my-check">
<button type="button" id="btn04">선택</button>
<button type="button" id="btn05">해제</button>
<script type="text/javascript">
	$(function(){
		var $myCheck = $('.my-check');
		$('#btn04').click(function(){
			//상태 속성 값 확인하기
			//배열 객체의 상태 속성 확인임으로 첫번째 원소만 확인
			console.log($myCheck.prop('checked'));
			//정상적인 확인을 위해서 원소에 접근하여 확인해야한다.
			console.log($myCheck.eq(2).prop('checked'),'eq');
			//상태 속성 변경하기
			$myCheck.prop('checked',true);
			//선택한 객체(배열)의 원소가 여러개일 경우 행위 혹은 조작에 관련된 메서드 실행 시 일괄 적용
			$myCheck.attr('data-mydata',1);
		});
		$('#btn05').click(function(){
			$myCheck.prop('checked',false);
		});
	});
</script>

 

val

- 선택된 대상의 value 속성값 조작

- val() -> value 속성값 가지고 오기

- val('값') -> value 속성에 값 삽입

 

css

- 선택된 대상의 style 속성 조작

- $('선택자').css('css style 속성명') -> 해당 속성의 값을 가지고 온다.

- $('선택자').css('css style 속성명', 'css style 속성값')

  -> 해당 속성에 값을 대입

- $('선택자').css({

     '속성명 : '속성값',

     '속성명 : '속성값',

     '속성명 : '속성값',

}); -> 객체에 삽입된 css style 일괄 적용

<h1>양념갈비</h1>
<button type="button" id="btn06" style="color:#f00;">css 정보 가져오기</button>
<button type="button" id="btn07">css 적용</button>
<button type="button" id="btn08">css 일괄 적용</button>
<script type="text/javascript">
	$(function(){
		var $body=$('body');
			cssObj={
				'background-color' : '#f00',
				'color' : '#fff'
			}
		$('#btn06').click(function(){
			console.log($(this).css('color'));
			console.log($(this).css('font-size'));
			console.log($(this).css('background'));
		});
		$('#btn07').click(function(){
			$body.css('background-color','#f00')
				 .css('color','#fff');
		});
		$('#btn08').click(function(){
			$body.css(cssObj);
		});
	});
</script>

 

addClass, removeClass, hasClass, toggleClass

- 선택된 대상의 클래스 속성을 조작 한다.

- $('선택자').addClass('클래스') -> 선택된 대상에 클래스 삽입(중복허용 안함)

- $('선택자').removeClass('클래스') -> 선택된 대상의 인수에 해당되는 클래스 제거

- $('선택자').hasClass('클래스') -> 선택된 대상의 인수에 클래스가 있다면 true, 없다면 false

- $('선택자').toggleClass('클래스') -> 선택된 대상의 인수에 클래스가 있다면 제거, 없다면 삽입

<style>
	.red-text{color:olive;}
	.red-back{background-color:olive;}
	#myDiv{
		width:200px;
		height:100px;
		border:1px solid #000;
	}
</style>
<div id="myDiv">
	안녕하세요
</div>
<button type="button" id="btn09">addClass</button>
<button type="button" id="btn10">removeClass</button>
<button type="button" id="btn11">hasClass</button>
<button type="button" id="btn12">toggleClass</button>
<script type="text/javascript">
	$(function(){
		var $myDiv=$('#myDiv');
		//addClass
		$('#btn09').click(function(){
			$myDiv.addClass('red-text');
		});
		//removeClass
		$('#btn10').click(function(){
			$myDiv.removeClass('red-text');
		});
		//hasClass
		$('#btn11').click(function(){
			var result = $myDiv.hasClass('red-text');
			console.log(result);
		});
		//toggleClass
		$('#btn12').click(function(){
			$myDiv.toggleClass('red-back');
		});
	})
</script>

 

728x90

'ksmart_html_css_js > jQuery' 카테고리의 다른 글

선택자_jQuery  (0) 2022.01.31
동적바인딩_jQuery  (0) 2022.01.27
요소, 속성, 객체 조작 메서드2_jQuery  (0) 2022.01.21
이벤트 관련 메서드 2_jQuery  (0) 2022.01.21
요소 조작 메서드 실습_jQuery  (0) 2022.01.20