章节
问答
课签
笔记
评论
占位
占位

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
2
<!DOCTYPE html>
<html>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
1
2
div {
width:
       60px;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
提交
重置代码
||

请验证,完成请求

由于请求次数过多,请先验证,完成再次请求

加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

已采纳回答 / qq_慕盖茨8319076
css({....})  最后这个小括号呢

最新回答 / 宝慕林2497579
我也是这个问题?

最新回答 / Sapce
可以试一试这么写$('*[style="color: blue"]');

最赞回答 / 慕慕2046813
将字符串变成数值

最新回答 / 慕少1205787
<...图片...>aaa

已采纳回答 / weixin_慕先生4223703
px 是分隔字符串,px 右边的内容才是 value[1] 的值,所以是空。

已采纳回答 / 等你到天明
这里我觉得他有点不对劲。split是用来分割字符串的填写px的话最后会分割成数组[value,""],用parseInt直接可以将px给抛弃掉而且还可以转化为数字直接运算最后+“px”变为字符串$('.sixth').css("width",function(index,value){            //value带单位,先分解            value = value.split('px');            console.log(value);            //返回一...

已采纳回答 / 巧克力味粑粑
你说的没错,我试了一下<...图片...><...图片...>60下面明显有个空,说明其实val[1]里面是没东西的。我想,最后有px单位可能是因为注意事项第三点提到的当一个数只被作为值(value)的时候, jQuery会将其转换为一个字符串,并添在字符串的结尾处添加px,例如 .css("width",50}) 与 .css("width","50px"})一样

最赞回答 / 精慕门3809150
是的,因为split划分之后是有两个字符串元素的数组,第一个字符串是一串数字,第二个是px。用Number可以将第一个数字字符串转换成数字拼接之后返回。Number():可以用于任何数据类型转换成数值,只转换成十进制,比较万能,比如布尔可以转换成0或者1.parseInt()专门用于把字符串转换成数值;

已采纳回答 / 酒窝MM
($("#oText").css("borderColor") 的值是  rgb(255, 0, 0) 与red 不相等,自然不会执行 变成蓝色的语句。

最新回答 / 妙玲儿
index 代表前面选择器的index值,是回调函数的参数之一,函数内可以不用.

最新回答 / 风飘叶摇
这两种方式亲测都可以,可能是浏览器没刷新过来,你再刷新下试试,这个在线浏览器有时候读取JQ库会有点问题。

最新回答 / 五月黑風
$('p:eq(0)').text( $('.first').css("background-color") )  获取class名为first元素背景颜色计算值,把这个值以文本方式放到第一个P元素里面。。

最赞回答 / coreIdeaLJJ
<...code...>有效果,就是改变div的宽度啊,我把它改成1000,你可以把数值改大或改小,就可以明显看出了
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言