자주쓰는 제이쿼리 함수
기본정보
- 글쓴이
- 고객지원팀
- 조회수
- 2,358회
상세내용
jQuery 선택자
$('tag') Tag라는 이름의 모든 태그 요소를 선택
$(‘.class’) class라는 클래스명의 모든 클래스 요소를 선택
$(‘#id’) id라는 아이디명의 아이디 요소를 선택
$(‘div li’) div에 있는 li 모두 선택
$(‘div > p’) div의 p태그라는 직계 자식을 선택
$(this) 현재 선택 중인 요소를 가리킴
jQuery 메소드
eq(n) n번째에 위치하는 요소를 선택.
length() 요소의 개수를 알 수 있음.
parent() / parents() 요소의 직계 부모 선택 / 요소의 모든 부모들 선택
children(“a”) 요소의 a태그의 직계자손 선택
prev() / next() 이전 요소 선택 / 다음 요소 선택
val() 텍스트에 입력한 값을 추출
text() 해당 요소의 텍스트를 변경
move() / clone() 해당 요소 이동 / 해당 요소 복사
remove() 해당 요소 삭제
bind(이벤트,함수) / unbind(이벤트) 해당 이벤트 실행시 함수 실행 / 이벤트 제거
* unbind() - 해당문서 객체와 관련된 모든 이벤트 제거
* unbind(eventName) - 특정 이벤트와 관련된 모든 이벤트 제거
* unbind(eventName, function) - 특정 이벤트의 함수 제거
addClass() / removeClass() 클래스 추가 / 클래스 삭제
jQuery 이벤트
mousedown() 노드영역에서 마우스르 눌렀다가 떼었을 때 발생
mouseenter() 노드에 마우스가 진입했을 때 발생 -> 부모 영역안의 자식영역에 커서가 가도 마우스 진입으로 판단
mouseleave() 노드영역에서 마우스가 나갔을 때 발생
mousemove() 노드영역에서 마우스가 움직일 때 발생
mouseover() 노드 영역에 마우스를 올려 놓았을 때 발생 -> 부모 영역안의 자식영역에 커서가 가면 마우스 아웃으로 판단
mouseup() 마우스 포인터를 노드에 올려놓고 마우스 버튼을 눌렀을 때 발생
jQuery 키보드 이벤트
키보드 이벤트명 설명
keydown() 키보드가 눌러질 때 발생
keyup() 키보드가 떼어질 때 발생
keypress() 글자가 입력될 때 발생
html()
기존 내용을 없애고 필요한 html구문을 생성함
$subMenu1.html("<li>text</li>");
문서의 객체 선택 및 삽입
$(A).insertBefore(B) : A를 B앞에 추가
$(C).insertAfter(B) : C를 B뒤에 추가
$(D).prependTo(B) : D를 B 앞부분에 추가
$(E).appendTo(B) : E를 B의 뒷부분에 추가
$(1).after(F) : 1뒤의 F 선택
$(3).before(G) : 3앞의 G 선택
css()
해당 요소의 CSS를 설정 및 값 추출
$("#header").css({height:80, overflow:"hidden"}) //height, overflow 설정
var $alpha=$(".subMenu").css("opacity"); //opacity 값 추출
attr()
해당 요소의 속성을 설정 및 값 추출
$mainImg.attr("class","img02"); //클래스명 설정
$("#visual_img").attr("src", "images/main/visual_02.jpg") //이미지 경로 변경
var $className=$("#visual_img").attr("class"); //클래스명 값 추출
setInterval(함수명,주기)
일정시간 마다 함수가 실행되도록 처리
clearInterval(함수명)
setInterval로 설정한 작업을 취소
Animation
Animate({속성:값},시간,효과,함수)
속성의 값만큼 시간주기로 해당효과를 낸 후 함수를 실행함
효과 : jQuery의 easing효과(32가지의 easing 효과 사용 가능)
//ex)
function onLeft() {
#imgWrap.animate({marginLeft:-400},500,"easeOutCubic");
}
//ex)
$("#imgWrap:not(:animated)").animate({left:300, opacity:0}, 1000, "easeOutCubic", function() {
#imgWrap.css({left:0, opacity:1});
});
활용가능한 jQuery 예제
Slide Image
slideUP(), slideDown() 사용 (left, right는 적용 안됨)
appendTo(), prependTo(), animate() 사용
Show, hide Image
show(), hide() 사용
tab menu, modalWindow 활용가능
Scroll Image
scrollTop() 사용
:not(:animated)
해당 애니메이션이 진행중일 때 다른 애니메이션 실행을 못하도록 함.
해당 애니메이션이 다 끝나고 다음 애니메이션이 실행 됨.
stop()
진행중인 애니메이션을 모두 멈춤.
여러 애니메이션이 동시 진행시 실행하던 애니메이션의 동작 완료 전 다른 애니메이션 실행시 사용.
Triggrt 함수
원문 링크: http://api.jquery.com/trigger/
.trigger( eventType [, extraParameters] )
개요 : 특정 이벤트 유형에 대해 선택된 요소에 연결된 모든 핸들러와 동작(behavior)을 실행합니다.
.trigger( eventType [, extraParameters] )
eventType: JavaScript 이벤트 타입을 표현하는 문자열, click 또는 submit 같은.
extraParameters: 이벤트 핸들러에 전달할 추가 파라미터.
.trigger( event ) event jQuery.Event 객체.
예제_01
.trigger() 함수는 이벤트가 발생할 때 실행될 함수나 .bind() 함수로 연결된 어떤 이벤트 핸들러를 강제로 실행시켜 줍니다.
$('#foo').bind('click', function() {
alert($(this).text());
});
$('#foo').trigger('click');
#foot 선택자를 클릭 하지 않아도 trigger함수에 연결된 click 이벤트가 trigger함수의 특징의 의하여 alert($(this).text()); 를 강제로 실행합니다.
each(반복문) 함수
.each()는 선택한 요소가 여러개일 때 각각에 대하여 반복하여 함수를 실행시킵니다.
문법 : .each( function )
특정 조건을 만족할 때 반복 작업에서 빠져려면 : return false 사용합니다.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. 커서 변경
$('body').css('cursor', 'default');
$('body').css('cursor', 'wait');
2. Select Box에서 선택된 Value 찾기
$('#search_sale_pernr_s option:selected').val();
3. Table의 타이틀 Row를 제외한 모든 Row 삭제하기
$("#data_list_table > tbody").children("tr:not(:first)").remove();
4. Table의 마지막 Row 다음에 Row 추가하기
$("#data_list_table > tbody:last").append("<tr><td>값1</td></tr>");
5. innerHTML값 Setting하기
$("#id_total_price").html("<strong>값</strong>");
6. 해당 ID로 지정된 HTML 보이기/숨기기
$("#placeholder").show();
$("#placeholder").hide();
7. ID로 지정된 Form Submit 하기
$("#csf_tab_menu_form").attr("target", "_top");
$("#csf_tab_menu_form").attr("action", "/sabisung/list.jsp");
$("#csf_tab_menu_form").submit();
8. Select Box의 Option 값 확인
$("#search_sale_unit").find("option").each(function() {
alert(this.value);
});
9. Select Box의 특정 값을 가지는 Option 삭제하기
$("#csf_menu_no").find("option").each(function() {
if(this.value == "4") {
//alert(this.selected);
$(this).remove();
}
});
10. Select Box의 특정 값 이후/이전에 Option 추가하기
$("#csf_menu_no").find("option").each(function() {
if(this.value == "3") {
$(this).after("<option value=\"4\">텍스트</option>");
//$(this).before("<option value=\"4\">텍스트</option>");
return false;
}
});
11. each Loop에서의 break/continue 방법
$("#csf_menu_no").find("option").each(function() {
if(this.value == "3") {
return false; //break 의미
return true; //continue 의미
}
});
12. Select Box의 모든 Option 삭제 후 Default Option 추가하기
$("#search_sale_pernr_s").find("option").remove().end().append("<option value=\"\">::사원 선택::</option>");
13. checkbox의 전체 갯수와 선택된 갯수 구하기
- 전체 갯수 : $("input:checkbox[name=is_check]").length
- 선택된 갯수 : $("input:checkbox[name=is_check]:checked").length
- 전체 checkbox 순회하기
$("input:checkbox[name=is_check]").each(function() {
this.checked = true;
});
14. checkbox의 체크 여부 확인
if($("input:checkbox[name=complete_yn]").is(":checked")) == true) {
; //작업
}
15. Table의 특정(ID를 가지는) TR 다음에 TR Row를 추가하기
$("#table_appr_pernr > tbody").children("tr").each(function() {
if(("row_appr_pernr_" + row_no) == $(this).attr('id')) {
$(this).after("<tr><td>사비성</td></tr>");
return false;
}
});
16. Table의 특정(ID를 가지는) TR Row를 삭제하기
$("#table_appr_pernr > tbody").children("tr").each(function() {
if(("row_appr_pernr_" + row_no) == $(this).attr('id')) {
$(this).remove();
return false;
}
});
17. 숫자인지 체크
function is_number(v) {
var reg = /^(\s|\d)+$/;
return reg.test(v);
}
18. 숫자인지 체크 (-/+ 부호까지 체크)
function is_number(v) {
var reg = /^[-+]?\d+$/;
return reg.test(v);
}
19. 소수점 자리수에 맞는 숫자인지 체크 (소수점 2자리까지 체크)
function is_float_2(v) {
var reg = /^[-+]?\d+.?\d?\d?$/;
return reg.test(v);
}
20. 숫자에 콤마 추가하기 (금액단위)
function set_comma(n) {
var reg = /(^[+-]?\d+)(\d{3})/;
n += '';
while (reg.test(n))
n = n.replace(reg, '$1' + ',' + '$2');
return n;
}
자료실
유용한 자료들을 모아두었습니다.