본문 바로가기

UIUX퍼블리셔/Html \ Css \ Jquery

jQuery

참고 사이트

https://github.com/GBKS/Wookmark-jQuery

http://www.richstory.co.kr/category/jQuery

http://blog.naver.com/sabisung/80113636445

http://blog.naver.com/ouksoo21/130082039493

http://onesixx.tistory.com/1307


1 jQuery   셀렉터

기본셀렉터

*             : 모든 엘리먼트와 일치

E             : 태그명이 E인 모든 엘리먼트와 일치

E F          : E의 자손이면서 태그명이 F인 모든 엘리먼트와 일치

E>F         : E의 바로 아래 자식이면서 태그명이 F인 모든 엘러먼트와 일치

E+F         : E의 형제 엘리먼트로 바로 다음에 나오는 엘리먼트 F와 일치

E~F        : E의 형제 엘리먼트로 다음에 나오는 모든 엘리먼트 F와 일치

E:has(F) : 태그명이 F인 자손을 하나 이상 가지는 태그명이 E인 모든 엘리먼트와 일치

E.C        : 클래스명 C를 가지는 모든 엘리먼트 E와 일치, E의 생각은 *.C와 동일함

E#I         : 아이디가 I인 엘리먼트 E와 일치. E의 생략은 *#I와 동일함

E[A]       : 어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치

E[A=V]   : 값이 V인 어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치

E[A^=V]  : 값이 V로 시작하는 어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치

E[A$=V]  : 값이 V로 끝나는 어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치

E[A*=V] : 값에 V를 포함하는 어트리뷰트 A를 가지는 모든 엘리먼트 E와 일치

 

위치기반 셀렉터

:first            : 페이지에서 처음으로 일치하는 엘리먼트. li a:first는 리스트 아이템의 첫번째 링크를 반환함

:last            : 페이지에서 마지막으로 일치하는 엘리먼트. li a:last는 리스트 아이템의 마지막 링크를 반환함

:first-child    : 첫번째 자식 엘리먼트. li:first-child는 각 리스트의 첫번째 아이템을 반환한다.

:last-child        : 마지막 자식 엘리먼트. li:last-child는 각 리스트의 마지막 아이템을 반환한다.

:only-child        : 형제가 없는 모든 엘리먼트 반환

:nth-child(n)    : n번째 자식 엘리먼트. li:nth-child(2)는 각 리스트의 두번째 리스트 아이템을 반환함

:nth-child(event|odd) : 짝수 또는 홀수 자식 엘리먼트. li:nth-child(event)은 각 목록의 짝수 번째 자식 엘리먼트 반환

:nth-child(Xn + Y) : 전달된 공식에 따른 n번째 자식 엘리먼트. Y는 0인경우 생략가능하다. li:nth-child(3n)은 3의 배수번째 아이템을 반환, li:nth-child(5n+1) 은 5의 배수 +1번째 아이템을 반환

:event / :odd    : 페이지 전체의 짝수/홀수 번째 엘리먼트. li:even은 모든 짝수번째 아이템을 반환한다.

:eq(n)            : n번째로 일치하는 엘리먼트

:gt(n)            : n번째 엘리먼트(포함안됨) 이후의 엘리먼트와 일치

:lt(n)            : n번째 엘리먼트(포함안됨) 이전의 엘리먼트와 일치

 

필터 셀렉터

:animated        : 현재 애니메이션이 적용되고 있는 엘리먼트를 선택

:button            : 모든 버튼을 선택함(input[type=submit], input[type=reset], input[type=button], button)

:checkbox        : 체크박스 엘리먼트만 선택(input[type=checkbox])

:checked        : 선택된 체크박스나 라디오 버튼만을 선택

:contains(foo)    : 텍스트 foo를 포함하고 있는 엘리먼트만 선택

:disabled        : 인터페이스에서 비활성화 상태인 모든 폼 엘리먼트를 선택한다.

:enabled        : 인터페이스에서 활성화 상태인 모든 폼 엘리먼트를 선택한다.

:file            : 모든 파일 엘리먼트를 선택함(input[type=file])

:header            : 헤더 엘리먼트만 선택한다. 예를 들어 <h1>부터 <h6>엘리먼트만 선택한다.

:hidden            : 감춰진 엘리먼트만 선택한다.

:image            : 폼 이미지를 선택한다.(input[type=image])

:input            : 폼 엘리먼트만 선택한다.(input, select, textarea, button)

:not(filter)    : 필터의 값을 반대로 변경한다.

:parent            : 빈 엘리먼트를 제외하고, 텍스트도 포함해서 자식 엘리먼트를 가지는 엘리먼트를 선택한다.

:password        : 패스워드 엘리먼트만 선택한다. (input[type=password])

:radio            : 라디오 버튼 엘리먼트만 선택한다.(input[type=radio])

:reset            : 리셋 버튼을 선택(input[type=reset], button[type=reset])

:selected        : 선택된 엘리먼트만 선택한다.

:submit            : 전송 버튼을 선택한다.(button[type=submit], input[type=button])

:text            : 텍스트 엘리먼트만 선택(input[type=text])

:visible        : 보이는 (visible)엘리먼트만 선택한다.

:empty         : 자식 또는 내부 텍스트를 가지지않는 요소들만 선택

:has(selector) : 지정된 셀렉터에 해당하는 요소를 갖는 모든 요소만 선택



All Selector("*")

html 내의 모든 요소를 선택하기 위한 요소 (html, body,script)


Class Selector (“.class”)

요소의 정의되어 있는 클래스(class)를 구분자로 선택하기 위함  (.)

예) <div class=”popo”></div>  ->  $(‘.popo’);


ID Selector (“#id”)

요소의 정의되어 있는 아이디(id)를 구분자로 선택하기 위함. (#)

예) <div id=”qqq”></div>  ->  $(‘#qqq’)


Element Selector (“element”)

일정 html 요소를 선택하기 위함 (해당 태그로 찾기 때문에 그다지 유용하진 않음). 

- 선택 범위가 넓기 때문

예) <div></div><span></span><div></div> ->  $(‘div’);  =  2개 반환


Multiple Selector (“selector1, selector2, selectorN”)

다중으로 일정 html 요소를 선택하기 위함

예) <div><span></span></div><form><input type=”text” /></form></div> 

  $(‘div, span, form, input’)




2 jQuery   이벤트

e.preventDefault() - 대상을 클릭했을 때 발생하는 이벤트를 방지(링크 이동 등등 막기)

$(this) - 현재 이벤트가 적용된 개체 (DOM)

.ready(fn); - 페이지 로딩시 fn 실행

.click(fn); - 클릭 시 fn 실행

.one(fn); - 딱 한번만 이벤트가 실행되고 해제됨

.dblclick(fn) - 더블클릭시 fn실행

.blur(fn) - 포커스를 잃었을 때 fn실행

.focus(fn) - 포커스를 얻었을 때 fn실행

.toggle(fn1,fn2); - 클릭시 fn1 과 fn2을 번갈아 실행

.scroll(fn) - window 창에서 scroll 이벤트가 발생할 때마다 콜백함수 fn 을 실행

.change(fn) - 대상이 바뀌는 지 감지하여 fn을 실행

.keyUp(fn) - 키를 땔 때 fn 실행

.keydown(fn) - 키를 누를 때 fn실행

.keypress(fn) - 연속으로 빨리 keydown이 일어날 때 fn실행

.bind({click:fn(){}, mouseover:fn(){}, mouseout:fn(){}}); - 대상에 동적으로 이벤트 바인딩, 이벤트 핸들러 다중 바인딩 가능

.unbind("event") - event 해제

.focusin(fn); - 포커스가 들어왔을 때 fn 실행

.focusout(fn); - 포커스가 나갔을 때 fn 실행

.select(fn) - 텍스트 필드에서 텍스트를 선택했을 때 fn실행

.submit(fn) - 폼 전송시 fn실행

.mousedown(fn) - 마우스 버튼을 누를 때

.mouseup(fn) - 마우스 버튼을 눌렀다가 땔 때

.hover(fn1,fn2) - 마우스 오버시 fn1, 마우스 아웃시 fn2 실행



3 jQuery   메소드ow(시간);

.hide(시간);

.slideUp(시간); - 보이기

.slideDown(시간); - 숨기기

.slideToggle(시간) - 보이고 안보이게 하기

.scrollTop(); - 현재 스크롤바의 위치값

.next(); 다음대상

.prev(); 전 대상

.stop(); - 보통  animate정지에 쓰임

.animate(매개변수,진행시간); - ({"속성":"값"} ,1000) 1초동안 매개변수를 실행

    매개변수 - width,height,opacity,fontsize

.attr(속성); - 속성의 값 가져오기

.attr({속성:값, 속성:값}); - 대상의 속성을 값으로 설정

.removeAttr(속성) - 대상의 속성 제거하기

.fadeOut(시간);

.fadeIn(시간);

.fadeTo(시간,투명도); - 대상을 시간동안 투명도를 적용 투명도1~100

.appendTo("대상"); - $("<div><p>Hello,World!</p></div>").appendTo("body");

.append(변수); - $("#result").append(내용); - 대상의 안에 내용추가

$('<br/>').insertAfter(".Content") - .Content 뒤에 <br/> 추가

.insertBefore(); - 앞에 추가

//서브 메뉴를 기준으로 보면 아래와 같음

$('#menu').clone().insertBefore('#submenu');

$('#menu').clone().prependTo('#submenu');

//원래 하단 메뉴가 있는 위치          

$('#menu').clone().appendTo('#submenu');

$('#menu').clone().insertAfter('#submenu');

.before(내용) - 대상 앞에 내용 추가

$('h3').wrap('<u></u>') - <h3></h3> 태그를 <u></u>태그로 감쌈

.unwrap(); - 대상을 감싸고있는 부모 엘레멘트를 제거

.clone(); - 대상을 복사

.replaceWith() - 검색된 대상을 변경 ex)  $(this).replaceWith("<div>" + $(this).text() + "</div>");
.each(fn) - 대상 수 많큼 반복하여 fn 실행

.size(); - 대상의 개수 알아오기

.html("<input ~>"); - 대상에 html추가

.text("아야어여"); - 대상에 text 추가

.end() - 실행취소함수 바로 전단계의 객체로 돌아감.

.data("link", "messages.jsp"); - 사용법 $(".tab").click(function(){

   window.parent.frames['content'].location = $(this).data("link");

});

.eq(위치); - 대상의 위치번째 요소 셀렉트

.css("background-color","#000000"); - 대상에 스타일을 줌

.removeAttr(속성) - 대상의 속성을 제거

.delay(시간) - 시간만큼 지연

.has(엘레멘트); - 엘레멘트를 가지고 있는 대상만 반환

.contains(엘레멘트1,엘레멘트2) - 엘레멘트1이 엘레멘트2를 포함하고있는지를 boolean 형식으로 반환

.addClass(); - 스타일을 추가

.remove() - 대상 제거

.removeClass(); - 스타일을 제거

.val() - input 의 value값을 가져온다

.addClass("a") - 대상에 a클래스를 추가한다.

.removeClass("a") - 대상에 a클래스를 제거한다.

.get(0).tagName - 대상의 첫번째 요소의 태그이름을 가져옴

.filter(expr) - 지정된 표현식과 매치되지 않는 모든 요소 제거 즉, 매치되는요소만 가져옴

.filter(fn) - 지정된 함수와 매치되지 않는 요소들을 제거

.is(expr) - 대상이 표현식에 해당하면 true  여러 표현식이 있을 경우 한조건만 맞아도 true

.map(callback) - 개체안에 있는 요소들의 집합을 다른 집합으로 변경하여 옮긴다

.not(expr) - 지정된 표현식과 매치디는 모든 요소들을 제거

.slice(n,index) - 왼쪽에서 n번째 문자열 반환 ex) .slice(1,3).addClass('red'); 1번째 인덱스에서 (3-1)번째 인덱스까지

$.trim(문자열)  -  양쪽 공백 제거

JQuery.browser.version - 브라우져의 버전

~~~.msie  -  ie사용시 true

~~~.mozilla  -  FireFox

~~~.safari

~~~.opera

imgSrc.substr(imgSrc.lastIndexOf("/") + 1);  - 순수한 파일명 얻기

msg += $("#select").val().join("|")+'\n'; - 셀렉트박스의 값구분자로 구분하여 가져오기

.width() - 대상의 가로길이

.height() - 대상의 세로 길이

.outerWidth(true) - true 마진을 포함한 가로길이

.outerHeight(true) - true 마진을 포함한 세로길이 true제거시 마진 미포함

.trigger("event") - 해당 이벤트를 코드로 강제실행

.load('url',params,callback fn) - Ajax의 기능으로 html을 로드하여 DOM에 삽입

.getJSON('url',fn(data)) - entry[name] 형식으로 json을 읽어옴

 - fn내에서 $.each(data,fn(index,entry){table += index + '<br/>'; table+= entry["name"];}; 이런식으로 사용

$.getScript('JQuery.script.js') - 동적으로 자바스크립트 로드, 보통 'JQuery.script.js'에 처리될내용기재하여 클릭이벤트시 실행

$.get('~~.xml',fn()) - XML파일 로드

$.get("~~.aspx", { 'Msg':$(this).val() } ,fn(data){ } ); - get방식의 ajax

$.post("~~.aspx", { 'Msg':'post방식으로 전송'},fn(data){ }); - post방식의 ajax

$.ajax

(

      {

            type:"get,post",

            dataType:"json",

            url:"js,aspx,asp,jsp",

            dataType:"script,post,get",

            success:function(data){SuccessFunction(data);},

            error:function(data){AlertFunction(data);}

      }

);

$.ajaxSetup  -  반복 사용되는 속성을 상단에 설정하여 코드를 줄인다

(

   {

      url:"~~.asp",

      dataType:"json"

   }

);

 

.live() - 동적으로 생성된 객체에 이벤트적용 예) $(".myBtn").live('click', function(){ //처리할 내용들});

.delegate() - live()와 마찬가지로 동적으로 생성된 객체에 이벤트적용. jQuery 1.4.2에서 live() 메서드를 대체하는 메서드. live() 보다 성능 우위

예) $("body").delegate('.myBtn','click', function(){//처리할 내용});

.undelegate() - 바이딩 해제

$('폼객체').serialize() - 폼안의 element 를 자동적으로 연결(element에 name 과 id속성을 같이 부여. name 필수) -> "&name=value"

$('폼객체').serializeArray() - 위와 동일하나 값의 형식을 Array 형식으로 변환 -> "{name=value}"

$('폼객체')[0].reset() - 폼리셋. jQuery에서는 reset이벤트 및 메소드가 정의되어 있지 않으므로 DOM객체의 reset()를 이용하여야 한다.

(참고, 문서내 모든 form을 리셋하려면 $('form').each(function() { this.reset(); });

4 jQuery   팁


'UIUX퍼블리셔 > Html \ Css \ Jquery' 카테고리의 다른 글

파일첨부 버튼 변경  (0) 2015.03.09
jquery 슬라이드 활용하기  (0) 2015.03.05
[퍼블리싱] 웹퍼블리셔!!!!  (0) 2013.05.13
[기초] 상대 경로와 절대 경로  (0) 2013.04.26
html5 가이드 ~ ^^  (0) 2012.12.18