3-7 jQuery的属性与样式之样式操作.css()
本节编程练习不计算学习进度,请电脑登录imooc.com操作

jQuery的属性与样式之样式操作.css()

通过JavaScript获取dom元素上的style属性,我们可以动态的给元素赋予样式属性。在jQuery中我们要动态的修改style属性我们只要使用css()方法就可以实现了

.css() 方法:获取元素样式属性的计算值或者设置元素的CSS属性

获取:

  1. .css( propertyName ) :获取匹配元素集合中的第一个元素的样式属性的计算值
  2. .css( propertyNames ):传递一组数组,返回一个对象结果

设置:

  1.  .css(propertyName, value ):设置CSS
  2. .css( propertyName, function ):可以传入一个回调函数,返回取到对应的值进行处理
  3. .css( properties ):可以传一个对象,同时设置多个样式

注意事项:

  1. 浏览器属性获取方式不同,在获取某些值的时候都jQuery采用统一的处理,比如颜色采用RBG,尺寸采用px
  2. .css()方法支持驼峰写法与大小写混搭的写法,内部做了容错的处理
  3. 当一个数只被作为值(value)的时候, jQuery会将其转换为一个字符串,并添在字符串的结尾处添加px,例如 .css("width",50}) 与 .css("width","50px"})一样

任务

在代码编辑器中第21行填写相应代码

css("background-color")

在代码编辑器中第27行填写相应代码

css("font-size")

在代码编辑器中第33行填写相应代码

css(['width','height'])

在代码编辑器中第47 48行填写相应代码

css("background-color","red")
css("backgroundColor","yellow")

在代码编辑器中第53 54行填写相应代码

css("font-size","15px")
css("fontSize","0.9em")

在代码编辑器中第61行填写相应代码

css("width",function(index,value){
            //value带单位,先分解
            value = value.split('px');
            //返回一个新的值,在原有的值上,增加50px
            return (Number(value[0]) + 50) + value[1];
        })

在代码编辑器中第67行填写相应代码

css({
            'font-size'        :"15px",
            "background-color" :"#40E0D0",
            "border"           :"1px solid red"
        })

 

 

 

 

 

 

 

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  5. <link rel="stylesheet" href="imooc.css" type="text/css">
  6. <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>
  7. </head>
  8. <body>
  9.  
  10. <h3>获取css属性</h3>
  11. <div class="first">获取颜色</div>
  12. <p></p>
  13. <div class="second">获取文字尺寸</div>
  14. <p></p>
  15. <div class="third">获取宽高尺寸</div>
  16. <p></p>
  17.  
  18. <script type="text/javascript">
  19. //background-color:blue; => rgb(0, 0, 255)
  20. //颜色都会转化成统一的rgb标示
  21. $('p:eq(0)').text( $('.first').? )
  22.  
  23. </script>
  24.  
  25. <script type="text/javascript">
  26. //字体大小都会转化成统px大小 em=>px
  27. $('p:eq(1)').text( $('.first').? )
  28. </script>
  29.  
  30. <script type="text/javascript">
  31. //获取尺寸,传入CSS属性组成的一个数组
  32. //{width: "60px", height: "60px"}
  33. var value = $('.first').?;
  34. //因为获取的是一个对象,取到对应的值
  35. $('p:eq(2)').text( 'widht:' + value.width + ' height:' +value.height )
  36. </script>
  37.  
  38. </br></br></br>
  39. <h3>设置css属性</h3>
  40. <div class="fourth">设置颜色设置文字尺寸</div>
  41. <div class="fifth">设置颜色设置文字尺寸</div>
  42. <div class="sixth">通过回调设置新的值</div>
  43. <div class="seventh">同时设置多少个样式</div>
  44.  
  45. <script type="text/javascript">
  46. //多种写法设置颜色
  47. $('.fourth').?
  48. $('.fifth').?
  49. </script>
  50.  
  51. <script type="text/javascript">
  52. //多种写法设置字体大小
  53. $('.fourth').?
  54. $('.fifth').?
  55. </script>
  56.  
  57.  
  58. <script type="text/javascript">
  59. //获取到指定元素的宽度,在回调返回宽度值
  60. //通过处理这个value,重新设置新的宽度
  61. $('.sixth').?
  62. </script>
  63.  
  64. <script type="text/javascript">
  65. //合并设置,通过对象传设置多个样式
  66. $('.seventh').?
  67. </script>
  68.  
  69.  
  70. </body>
  71.  
  72. </html>
  1. div {
  2. width: 60px;
  3. height: 60px;
  4. margin: 5px;
  5. float: left;
  6. font-size: 0.8em;
  7. background: #40E0D0
  8. }
  9. .first{
  10. background-color:lightSkyBlue;
  11. }
  12. .second{
  13. background-color: #ccc;
  14. color: red;
  15. font-size: 1.2em;
  16. }
  17. .third{
  18. background-color:yellow;
  19. }
  20. .sixth{
  21. font-size: 12px;
  22. }
下一节