• 분류 전체보기 (160)
    • 개인프로젝트 (5)
      • 시연영상모음 (4)
      • 주저리주저리.. (1)
    • 자바스크립트이야기 (69)
      • ExtJS (30)
      • ExtJS 유의사항 (3)
      • HTML5 (1)
      • jQuery (17)
      • jQuery플러그인소개 (9)
      • jQuery UI 소개 (9)
    • 스프링연동하기 (23)
      • spring3 mvc 설정 (4)
      • spring3 mybatis 설정 (4)
      • spring3 기타설정 (11)
      • ibatis and mybatis (4)
    • DB (26)
      • MySQL vs MS-SQL vs O.. (5)
      • MySQL (10)
      • MSSQL (5)
      • Oracle (6)
    • 서버에웹환경구축하기 (13)
      • 1.VirtualBox+CentOS .. (5)
      • 2.JAVA(JDK) 설치 (1)
      • 3.Apache+Tomcat 설치 (3)
      • 4,SVN Server 설치 (1)
      • 5.마리아DB(MariaDB) 설치 (2)
      • 6.몽고DB(MongoDB)설치 (1)
    • 샘플소스 (14)
      • 샘플소스(JAVA) (7)
      • 샘플소스(JSTL) (4)
      • 샘플소스(jQuery/스크립트) (3)
    • 에디터연동 (5)
      • NAVER-스마트에디터 (4)
      • DAUM-다음에디터 (1)
    • 블로그팁 (3)
    • 디지털이야기 (2)
댓글
/32
2014. 6. 9. 22:17
[jQuery 10장]스크립트로 지정 태그에 클래스 적용하기

우리는 가끔 특정 이벤트를 주어 클래스를 지정 태그에 적용 시킬때가 존재한다.

a 태그 클릭시 포커스를 줄때 또는 버튼 클릭시 특정 태그에 클래스를 추가 또는 제거 하는 방식으로 예를 들어서 작성해보겠음.


클래스 관련 추가/삭제/존재여부에 대한 함수를 다뤄볼텐데

 

클래스 추가하기 : $("").addClass("classId")

클래스 제거하기 : $("").removeClass("classId")

클래스 존재유무 체크 : $("").hasClass("classId")


로직을 가상으로 만들어보고 소스를 제작해보도록 하겠다.


1. a태그 클릭시 클래스 아이디가 focusRed 라는 놈으로 글자색 변경하기


2. 버튼 클릭시 클래스 존재유무로 클래스 존재하지 않으면 특정 글자의 font size를 늘리는 plusfontsize 클래스 아이디 추가

                                               클래스 존재하면 특정 글자 원래대로 돌려주어야 하므로 plusfontsize 클래스 아이디 제거


이 두가지로 소스코드를 짜봅시다!


우선은 테스트용 css를 짜보도록 하자



<style type="text/css">
	.focusRed {
		color: red;
	}
	.plusfontsize{
		font-size: 20pt;
	}
</style>

html태그이다. body 태그내에 작성해주자


<a href="#" id="atag">빨~~~갛게</a><br/>
<input type="button" value="클래스적용토글" id="classChangeButton" /><br/>
<label id="fontLabel">글자11</label>

이제 마지막으로 스크립트 코드를 짜보자


$(function(){
        //a태그 클릭시
		$("#atag").click(function(){
            //a태그에 focusRed라는 클래스를 추가한다.
			$("#atag").addClass("focusRed");
		});
       //id가 classChangeButton이라는 버튼 클릭시
		$("#classChangeButton").click(function(){
			//라벨태그에 클래스가 존재하지 않는다면,
			if(!$("#fontLabel").hasClass("plusfontsize")) {
				//plusfontsize 클래스아이디를 fontLable 아이디를 가지고 있는 label에 클래스 추가
				$("#fontLabel").addClass("plusfontsize");
			//라벨태그에 클래스가 존재할경우
			} else {
				//plusfontsize 클래스 아이디를 fontLable 아이디를 가지고 있는 label 클래스 제거
				$("#fontLabel").removeClass("plusfontsize");
			}
		})
})

해당 소스를 페이지에 맞춰 읽어보면서 실행을 해보면 위에서 가상으로 짠 로직에 대한 결과가 나올것이다.


슈퍼맨슈퍼맨슈퍼맨


도움이 되셨다면 손가락↓ 클릭! 궁금하신점은 댓글!!

저작자표시 (새창열림)

'자바스크립트이야기 > jQuery' 카테고리의 다른 글

[jQuery 12장] 동적으로 태그 추가 및 태그를 문자자체로 표출하기  (2) 2014.06.10
[jQuery 11장] 태그속성값 가져오기 attr / prop  (0) 2014.06.10
jQuery / 프로토타입 동시사용시 ...  (0) 2014.06.09
[jQuery 9장] 공백 제거 $.trim()  (0) 2014.06.09
[jQuery 8장]숨겨진 태그 화면에 보여주기 효과  (0) 2014.06.09

티스토리툴바