본문 바로가기

jQuery

[jQuery] DOM

1. addClass

<style>
	.high_light_0 {background:yellow;font-size:30pt;color:red}
	.high_light_1 {background:orange}
	.high_light_2 {background:blue}
	.high_light_3 {background:green}
	.high_light_4 {background:red}
</style>
<script>
$(function(){
	/*
	addClass(적용시킬_클래스명) : 한꺼번에 여러개의 스타일을 동시에 설정하고 싶을때 사용
		<->removeClass(해제시킬_클래스명)
	*/
	$('h1').addClass(function(index){
		return 'high_light_'+index;
	})
})
</script>

<body>
	<h1>Item-0</h1>
	<h1>Item-1</h1>
	<h1>Item-2</h1>
	<h1>Item-3</h1>
	<h1>Item-4</h1>
</body>

2. filter

<script>
$(function(){
	//형식)$('선택자').filter('찾는 조건에 해당하는 선택자(태그 | 속성선택자)')
	//매개변수를 전달받아서 처리해주는 함수를 이용
	$('h1').filter(function(index){
		return index%2==1;
	}).css({backgroundColor:'Black',color:'White'})
	
    //제어문->if형식과 비슷->$('선택자').is('찾을 조건')->true,false
	$('h1').each(function(){
		if($(this).is('.select')){
			$(this).css('background','yellow').css('font-size','16pt');
		}else{
			$(this).css('background','green')
		}
	})
})
</script>

<body>
	<h1>Item-0</h1>
	<h1 class="select">Item-1</h1>
	<h1 id="select">Item-2</h1>
	<h1>Item-3</h1>
	<h1>Item-4</h1>
</body>

3. appendTo, prependTo, insertAfter, insertBefore

<script>
	$(function(){
		/*
			함수			설명
		$(A).appendTo(B)		A를 B의 기존자식의 뒤에 추가할때 사용
		$(A).prependTo(B)		A를 B의 기존자식의 앞에 추가할때 사용
		
		$(A).insertAfter(B)		A를 B의 뒤에 추가할때 사용
		$(A).insertBefore(B)	A를 B의 앞에 추가할때 사용		
		*/
		$('<h1>jQueryTest</h1>').appendTo('div');
		$('<h1>jQueryTest2</h1>').prependTo('div');
		$('<h1>DOMTest</h1>').insertAfter('div');
		$('<h1>DOMTest2</h1>').css('color','red').insertBefore('div');
		$('img').attr('width',300).insertBefore('div');
	})
</script>

<body>
	<div>
		<h1>안녕하세요?</h1>
	</div>
	<h1>반가워요!</h1>
	<img src="../picCats/Persian.jpg">
</body>

4. append, prepend, after, before

<script>
	$(function(){
		/*
			함수			설명
		$(A).append(B)			B를 A의 기존자식의 뒤에 추가할때 사용
		$(A).prepend(B)			B를 A의 기존자식의 앞에 추가할때 사용
		
		$(A).after(B)			B를 A의 뒤에 추가할때 사용
		$(A).before(B)			B를 A의 앞에 추가할때 사용		
		*/
		$('div').append('<h1>jQueryTest222</h1>');
		$('div').prepend('<h1>jQueryTest444</h1>');
		$('div').after('<h1>DOMTest555</h1>');
		$('div > h1').css('color','red').before('<h1>DOMTest6666</h1>');
		$('img').attr('width',300).before('<h1>DOMTest6666</h1>');
	})
</script>

<body>
	<div>
		<h1>안녕하세요?</h1>
	</div>
	<h1>반가워요!</h1>
	<img src="../picCats/Persian.jpg">
</body>

5. append

<style type="text/css">
	.textstyle {font-size:16pt;line-height:20pt;margin:10px;}
</style>
<script>
$(function(){
	/*
	형식) 1.$(부모태그 > 자식태그)->부모태그 바로밑의 자식태그를 찾을때 사용(자손 포함 X)
		  2.$(부모태그 자식태그)->부모태그 바로밑의 자식태그를 찾을때 사용(자손 포함 X)
		  3.$(부모태그+자식태그)->부모태그 바로 옆에 인접한 형제태그(짝궁)찾기
		  4.$(부모태그~자식태그)->부모태그 바로 옆에 짝궁+다른 인접한 태그까지 찾기
	*/
	$('*').addClass('textstyle');
	$('em+a').css('background-color','yellow').each(function(){
		$('.result1').append($(this))
	})
})
</script>

<body>
	<em>one</em>
	<a>two</a>
	<a>three</a>
	<b>four</b>
	<a>five</a>
	<em>six</em>
	<hr>
	<div>
		<span>prev+next로 검색된 엘리먼트 확인예제</span>
		<span class="result1"></span>
	</div>
</body>

6. $.extend

<script>
$(function(){
	var object1={}	//비어있는 객체
	
	//동적으로 속성(=멤버변수)을 추가 => 객체명.속성=값
	object1.name='임시';
	object1.addr='서울시 강남구 대현빌딩 3층';
	object1.age=23;
	alert(object1.name+'님의 주소는 '+object1.addr+'이고, 나이는 '+object1.age+'입니다.')
	
	//$.extend(기존의 객체명,객체명2,객체명3,,,)=>객체배열 관리=>$.each 처리
	var object2={name:'테스트'}
	$.extend(object2,{
		region:'서울시 강북구',
		age:34,
		sung:'남자'
	})

	var output="";	//출력할 값을 저장할 변수
	//형식)$.each(1.출력할 객체명,2.매개변수로 index와 value값을 갖는 함수호출)
	$.each(object2,function(key,item){
		output+=key+':'+item+'\n'
	})
	alert(output);
})
</script>

7. $.each

<script>
$(function(){
	//$.each() : 단독으로 사용(배열관리(포털사이트의 주소를 관리),객체관리)
	var array=[{name:'naver',link:'http://www.naver.com'},
				{name:'daum',link:'http://www.daum.net'},
				{name:'nate',link:'http://www.empas.com'},
				{name:'google',link:'http://www.google.com'}
				]	//배열생성
	//형식)$.each(컬렉션(배열),처리해줄 함수명(index,value)) {처리구문}
	$.each(array,function(index,item){	//index->배열의 인덱스번호
										//item->배열의 인덱스를 통해 접근가능한 객체
		var output='';
			output+='<a href="'+item.link+'">';
			output+='<h1>'+item.name+'</h1>';
			output+='</a>';
			//인덱스번호에 해당하는 항목을 가져와서 body에 결합
			document.body.innerHTML+=output;
	})
})
</script>

'jQuery' 카테고리의 다른 글

[jQuery] jQuery의 특징  (0) 2019.10.10
[jQuery] effect  (0) 2019.09.19
[jQuery] event  (0) 2019.09.18
[jQuery] selector  (0) 2019.09.18