원문 링크 http://api.jquery.com/css/
함수들
css( propertyName )- .css( propertyName )
- .css( propertyName, value )
- .css( propertyName, function(index, value) )
- .css( map )
개요 : 일치하는 요소들 중에 첫번째 요소의 속성값을 반환합니다.
- .css( propertyName )
- propertyName CSS 속성값
.css()
함수는 첫번째 element의 속성값을 알아내는 아주 좋은 함수입니다. 특히 여러 속성들을 다르게 취급하는 브라우저들을 대상으로 할때 아주 유용합니다. ( Internet Explorer의 currentStyle
와 runtimeStyle
속성들을 비교하기 위한 표준 기반(standard-based)의 브라우져의 getComputedStyle()
함수입니다.) 예를 들어, Internet Explorer의 DOM 표현에서 float
속성은 styleFloat
로 다루는 반면, W3C 표준을 따르는 브라우져에서는 cssFloat
로 사용할 수 있습니다. .css()
함수는 이런 경우에 동일한 결과를 나타내도록 구성되어 있는 것입니다. 예를 들어, float 속성값을 가져오려면 아래와 같이 스크립트를 작성하면 됩니다.
$('div.left').css('float');
$('div.left').css('cssFloat');
$('div.left').css('styleFloat');
또한, jQuery는 두 단어 이상으로 표현되는 CSS나 DOM 도 다룰 수 있습니다. jQuery는 .css('background-color')
와 .css('backgroundColor')
를 사용하여 동일한 결과를 만들어 낼 수 있습니다. 다른 브라우져에서도 #FFF, #ffffff, and rgb(255,255,255) 와 같이 문자 표현이 동일하지 않지만 논리적으로는 같은 CSS 컬러값을 반환하게 됩니다.
줄임말로 표현된 CSS 속성표현은 지원하지 않습니다.(e.g. margin, background, border) 즉, margin 에 대한 정보를 얻기를 원한다면 다음과 같이 사용해야 합니다. $(elem).css('marginTop')
와 $(elem).css('marginRight')
와 같은 코드가 필요합니다..
예 제
박스를 클릭하면 색깔값을 반환합니다.
<!DOCTYPE html> <html> <head> <style> div { width:60px; height:60px; margin:5px; float:left; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <span id="result"> </span> <div style="background-color:blue;"></div> <div style="background-color:rgb(15,99,30);"></div> <div style="background-color:#123456;"></div> <div style="background-color:#f11;"></div> <script> $("div").click(function () { var color = $(this).css("background-color"); $("#result").html("That div is <span style='color:" + color + ";'>" + color + "</span>."); }); </script> </body> </html>
미리보기
색깔 rgb 값 반환됩니다.
개요 : 일치하는 요소들에 하나 이상의 CSS 속성을 추가시킬 수 있습니다.
- .css( propertyName, value )
- propertyName CSS 속성명
- value CSS 속성값
- .css( propertyName, function(index, value) )
- propertyName CSS 속성명
- function(index, value) index에 해당하는 위치에 추가할 속성값
- ..css( map )
- map 속성명과 속성값으로 구성된 세트(map)
.prop()
함수나 .css()
함수를 사용하면 빠르고 쉽게 새로운 속성을 추가할 수 있습니다. 이 함수들은 속성명과 속성값을 별개의 인자로 다룰 수 있습니다. 또한 key와 value를 한쌍으로 single map을 사용할 수도 있습니다.(이 부분은 우리나라 말로 번역하기가 어렵네요.)
jQuery는 두 단어 이상으로 표현되는 CSS나 DOM 도 다룰 수 있습니다.(위에 쓴말을 왜 똑같이 쓰는지.. ㅡㅡ;) 예를 들면, jQuery는 .css({'background-color': '#ffe', 'border-left': '5px solid #ccc'})
와 .css({backgroundColor: '#ffe', borderLeft: '5px solid #ccc'})
두 스크립트의 결과를 보여줍니다.
.css()
함수를 set 하는 용도(딱히 한글용어가 쿨럭;;)로 사용될 때, jQuery는 style
속성을 편집하게 됩니다. $('#mydiv').css('color', 'green')
스크립트는 document.getElementById('mydiv').style.color = 'green'
와 같습니다. (이 뒤에 2문장이 더 있는데 의미 파악이 정확하지가 않아 삭제합니다.)
jQuery 1.6에 와서, .css()
함수는 .animate()
함수에서 사용되는 relative 속성값을 사용할 수 있게 되었습니다. Relative 속성값은 +=
또는 -=
같은 사용법으로 현재 값을 증가시키거나 감소시킬수 있습니다. 만약 어떤 요소의 padding-left 가 10px 이었다면, .css( "padding-left", "+=15" )
의 스크립트를 적용하면 padding-left 값은 25px가 되게 됩니다.
jQuery 1.4부터는 .css()
인자로 속성값을 반환하는 함수할 수 있게 되었습니다.
아래 예는 일치하는 요소의 width 값을 증가시키는 스크립트입니다.
$('div.example').css('width', function(index) { return index * 50; });
Note: 만약 인자로 사용된 함수에서 반환한 값이 없거나 (ie. function(index, style){})
) undefined
를 반환한다면, 현재 상태를 변화시키지는 않습니다. 이것은 선택적으로 특정 기준을 적용하고 싶을때 유용한 방법이 됩니다.
예 제
mouseover 이벤트 시 p 태그 안의 폰트색을 변화시킵니다.
<!DOCTYPE html> <html> <head> <style> p { color:blue; width:200px; font-size:14px; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <p>Just roll the mouse over me.</p> <p>Or me to see a color change.</p> <script> $("p").mouseover(function () { $(this).css("color","red"); }); </script> </body> </html>
미리보기
예 제
id=#box 의 width를 200 pixel 만큼 증가시킵니다.
<!DOCTYPE html> <html> <head> <style> #box { background: black; color: snow; width:100px; padding:10px; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <div id="box">Click me to grow</div> <script> $("#box").one( "click", function () { $( this ).css( "width","+=200" ); }); </script> </body> </html>
미리보기
예 제
p 태그 안의 텍스트를 클릭하면 강조합니다.
<!DOCTYPE html> <html> <head> <style> p { color:blue; font-weight:bold; cursor:pointer; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <p> Once upon a time there was a man who lived in a pizza parlor. This man just loved pizza and ate it all the time. He went on to be the happiest man in the world. The end. </p> <script> var words = $("p:first").text().split(" "); var text = words.join("</span> <span>"); $("p:first").html("<span>" + text + "</span>"); $("span").click(function () { $(this).css("background-color","yellow"); }); </script> </body> </html>
미리보기
텍스트를 클릭해 보세요. 노란색 배경이 생깁니다.
예 제
마우스를 올리면 새로운 스타일을 적용합니다.
<!DOCTYPE html> <html> <head> <style> p { color:green; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <p>Move the mouse over a paragraph.</p> <p>Like this one or the one above.</p> <script> $("p").hover(function () { $(this).css({'background-color' : 'yellow', 'font-weight' : 'bolder'}); }, function () { var cssObj = { 'background-color' : '#ddd', 'font-weight' : '', 'color' : 'rgb(0,40,244)' } $(this).css(cssObj); }); </script> </body> </html>
미리보기
텍스트에 마우스를 올려보세요. 노란색 배경이 생기고 텍스트가 굵어집니다.
예 제
클릭할때 마다 빨간 배경색이 확장됩니다.
<!DOCTYPE html> <html> <head> <style> div { width: 20px; height: 15px; background-color: #f33; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <div>click</div> <div>click</div> <script> $("div").click(function() { $(this).css({ width: function(index, value) { return parseFloat(value) * 1.2; }, height: function(index, value) { return parseFloat(value) * 1.2; } }); }); </script> </body> </html>
미리보기
텍스트에 마우스를 올려보세요. 노란색 배경이 생기고 텍스트가 굵어집니다.
대체적으로 내용이 많아서 해석이 바보같네요. 킁... 중요한 함수인데 설명이 좀 그렇습니다. 예제를 보시면 그리 어렵지 않으실 것 같네요.
그럼 즐프하세요.
※ 본 예제는 http://www.jquery.com 에 있는 내용임을 밝힙니다.
'프로그래밍 > jQuery' 카테고리의 다른 글
jQuery API 정복 - padding 포함 높이 제어, innerHeight() (0) | 2011.11.22 |
---|---|
jQuery API 정복 - 요소 높이 제어, height() (0) | 2011.11.22 |
jQuery API 정복 - 텍스트 비우기, empty() (0) | 2011.11.22 |
jQuery API 정복 - 요소 제거, detach() (2) | 2011.11.22 |
jQuery API 정복 - 요소 복사하기, clone() (0) | 2011.11.22 |
jQuery API 정복 - 앞에 추가하기, before() (1) | 2011.11.22 |
jQuery API 정복 - 새로운 요소 추가, appendTo() (4) | 2011.07.26 |
jQuery API 정복 - 마지막 자식 요소 추가, append() (6) | 2011.07.20 |