[jQuery] jQuery API (2/7) - 속성(CSS), 추출

2019. 7. 25. 02:10 Javascript/jQuery

[jQuery] jQuery API (2/7) - 속성(CSS), 추출


2. 속성(CSS), 추출

- 속성(CSS)


.addClass() : 지정한 요소에 class 값을 추가한다.

                    $("p").addClass("name");  // class = "name" 추가

.hasClass() : 지정한 요소에 class 유무를 확인한다.

                    if($("p").hasClass("name")==true)  // class 가 "name"인지 확인 true/false

.removeClass() : 지정한 요소에 class 값을 제거한다.

                    $("p").removeClass("name");  // class = "name"을 제거

.toggleClass() : 지정한 요소에 class를 추가/제거

                    $("p").toggleClass("name");  // class = "name"이 있으면 제거 / 없으면 추가


.attr() : (1) 지정한 요소의 속성값을 입력 또는 변경한다.

                   $("a").attr("href", "http://www.googlec.co.kr");  // a 요소의 href 값을 변경한다.

                   $("#content").attr({id:'content01', class:'style1'});  // id content 요소의 id와 class 값을 변경한다.

             (2) 지정한 요소의 속성값을 가져온다.

                   $("a").attr("href");     // a 요소의 href의 값을 가져온다.

.removeAttr() : 지정한 요소의 속성값을 제거한다.

                   $("a").removeAttr("href");  // a 요소의 "href" 속성값을 제거한다.


.prop() : .attr()과 동일하나, boolean 값을 사용하는 속성에 사용한다. checked, selected, disabled

.removeProp() : removeProp()과 동일하나, boolean 값을 사용하는 속성에 사용한다. checked, selected, disabled

                 



.css() : (1) 지정한 요소의 css 값을 삽입 또는 변경한다..

                   $("div").css("color", 'red');  // div 요소의 글자색을 red로 설정한다.

                   $("div").css({color:'red', border:'1px solid blue'});  // 동시에 여러개의 값을 설정할 수 있다.

             (2) 지정한 요소의 속성값을 가져온다.



              $("div").css("backgroundColor");     // div 요소의 backgroud-Color 값을 가져온다.

            참고 - css의 속성명과 jQuery에서 쓰는 속성명은 형식이 조금 다르다.

                      css : background-color , jQuery : backgroundColor

                      css : padding-left, jQuery : paddingLeft


.width() : 선택한 요소의 현재의 계산된 넓이를 얻거나 넓이 값을 설정한다.

                   $("div").width();  // div 의 현재 넓이 값 (숫자로 반환, .css('width')는 숫자뒤에 px가 붙어 반환 400px)

                   $("div").width(30);  // div의 넓이를 30으로 설정한다. { 30, 30px, 30%, auto }

.innerWidth() : 선택한 요소의 padding을 포함한 넓이를 반환한다. (border 제외)

                   $("div").innerWidth();  // div 의 padding을 포함한 현재 넓이

.outerWidth() : 선택한 요소의 padding 과 border를 포함한 넓이를 반환한다. (인자값 true 면 margin 포함)

                   $("div").outerWidth();  // div 의 padding과 border 포함한 현재 넓이

                   $("div").outerWidth(true);  // div 의 padding과 border, margin 포함한 현재 넓이


.height() : 선택한 요소의 현재의 계산된 높이를 얻거나 높이 값을 설정한다.

                   $("div").height();  // div 의 현재 높이 값 (숫자로 반환, .css('height')는 숫자뒤에 px가 붙어 반환 400px)

                   $("div").height(30);  // div의 높이를 30으로 설정한다. { 30, 30px, 30%, auto }

.innerHeight() : 선택한 요소의 padding을 포함한 높이를 반환한다. (border 제외)

                   $("div").innerHeight();  // div 의 padding을 포함한 현재 높이

.outerHeight() : 선택한 요소의 padding과 border를 포함한 높이를 반환한다. (인자값 true면 margin 포함)

                   $("div").outerHeight();  // div 의 padding과 border를 포함한 현재 높이

                   $("div").outerHeight(true);  // div 의 padding과 border, margin을 포함한 현재 높이


.data() : (1) 지정한 요소에 값을 삽입 또는 변경한다.

                   $("div").data("foo", '52');  // div 요소에 "foo" 라는 key로 52를 삽입한다.

                   $("div").data("bar", {color:'red', border:'1px solid blue'});  // "bar" 라는 key로 배열 삽입

                   $("div").data({baz : [1,2,3]});  // baz 배열 삽입

             (2) 지정한 요소의 값을 가져온다.

                   $("div").data("foo");  // div 요소에 "foo"라는 key로 저장된 값을 가져온다.

                   $("div").data();  // div 요소에 전체 값을 가져온다. {foo:52, bar:{color....}, baz:[1,2,3,4]}


$.data() <jQuery.data()> : 첫번째 인자의 요소에 두번째 인자를 키로 세번째 값을 저장한다. .data()와 동일

                  $.data(document.body, "foo",'52');    // 페이지 body 요소에 foo를 키로 52 삽입


.removeData() : 지정한 요소에 데이터를 제거한다.

                   $("div").data("foo");  // div 요소에 "foo" 라는 key의 데이터를 제거한다.

$.removeData() <jQuery.removeData()> : 지정한 요소에 데이터를 제거한다.

                   $.data($("div"), "foo");  // div 요소에 "foo" 라는 key의 데이터를 제거한다.


$.hasData() <jQuery.hasData()> : $.data()에 의해 저장된 임의의 값들이 있는지 확인한다.  true / false

           if(.$.hasData(document.body)==true)   // document.body에 data가 있으면 true  



- 추출


$.browser <jQuery.browser> : JQuery가 실행되는 browser의 version, browser 종류를 Map 형식으로 리턴한다.

                  $.each($.browser,function(i, val){

                           result += i +":" + val;     //   결과 msie:true version:7.0    

                   }

                참고 - $.browser.version : 브라우저의 버전을 문자열로 리턴

                              $.browser.safari : 사파리 브라우저 여부 true & false 리턴

                              $.browser.opera : 오페라 브라우저 여부 true & false 리턴

                              $.browser.msie : Internet Explorer 브라우저 여부 true & false 리턴

                              $.browser.mozilla : Mozilla 브라우저 여부 true & false 리턴


$.support <jQuery.support> : 브라우저마다의 기능의 차이나 버그등의 정보를 구조체로 반환 ; 1.3 이후 버전에서는 $.browser 대신 $.support를 사용 권장

옵션값 : http://api.jquery.com/jQuery.support/

                       


.size() : 선택한 요소 배열의 길이를 반환한다.

                   var num = $("div").size();  // num은 div의 배열 크기를 숫자로 반환한다. 


.length : 선택한 요소의 배열의 길이를 반환한다.  (선택 요소에 "" 는 적용이안된다. '' 사용)

                   var num = $('div').length;  // num은 div의 배열 크기를 숫자로 반환한다 


.offSet() : 선택한 요소의 전체 문서 내(document)에서의 left, top 좌표를 구한다.

                   var offset = $('div:last').offset();  // div 마지막 요소의 left, top 좌표 반환 offset.left / offset.top


.position() : 선택한 요소의 부모요소를 기준으로 left, top 좌표를 구한다.

                   var position = $('div:last').position();  // div 마지막 요소의 부모로부터의 left, top 좌표 반환 position.left / position.top


.scrollLeft() : 선택한 요소의 스크롤바의 수평 위치(x좌표)를 얻거나 변경한다.

                   var x= $('div:last').scrollLeft();  // div 마지막 요소의 현재 수평 스크롤 x좌표를 반환한다.

                    var x= $('div:last').scrollLeft(300)// div 마지막 요소의 수평 스크롤 x좌표를 300으로 이동한다.


.scrollTop() : 선택한 요소의 스크롤바의 수직 위치(y좌표)를 얻거나 변경한다.

                   var x= $('div:last').scrollTop();  // div 마지막 요소의 현재 수직 스크롤 y좌표를 반환한다.

                    var x= $('div:last').scrollTop(300)// div 마지막 요소의 수직 스크롤 y좌표를 300으로 이동한다.


$.type() <jQuery.type()> : 인자의 obj의 type을 반환한다.

            $.type(undefined) === "undefined" //

            $.type() === "undefined" //

            $.type(null) === "null" //

            $.type(true) === "boolean" //

            $.type(3) === "number" //

            $.type("test") === "string" //

            $.type(function(){}) === "function" //

            $.type([]) === "array" //

            $.type(new Date()) === "date" //

            $.type(/test/) === "regexp" //


$.now() <jQuery.now> : 현재 시간을 number로 반환

                   $.now() // result : 1340954729007     (new Data).getTime(); 



$.fx.interval<jQuery.fx.interval> : 브라우져 애니메이션 프레임 조절

          / $.fx.interval = 1000;    // 프레임을 1000으로 변경한다.


$.fx.off<jQuery.fx.off> : 모든 애니메이션 효과를 전역적으로 끈다.

          / $.fx.off = true;    // 애니메이션 효과를 끈다.



출처: https://hyeonstorage.tistory.com/61?category=549771 [개발이 하고 싶어요]