javascript - font-weight和fontWeight的区别?
怪我咯
怪我咯 2017-04-10 15:47:18
[JavaScript讨论组]

今天发现通过JS来设置一个元素的CSS样式,代码如下所示:

var js = document.getElementById('test-p');
js.style['font-weight'] = 'bold';

之后发现一个很奇怪的地方。。我们通过

console.log(js.style.fontWeight);
console.log(js.style['font-weight']);
console.log(js.style['fontWeight']);

都可以在控制台输出之前设置的bold,或者是我们之前设置js.style.fontWeight = 'bold';就算我们是在CSS里面直接设置{font-weight: bold};也可以用上面三个方式在控制台输出设置的bold。

如果直接console.log(js.style);输出的这个对象中没有发现'font-weight'这个属性,只有'fontWeight',请问一下各位大大,这是为什么,为什么我们这里的'font-weight'和'fontWeight'会出现这种'等价'的情况,新手表示完全弄懵了,谢谢解答的各位。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
PHP中文网

在JS中,“-”代表减法操作符。所以font-weight代表font减去weight,test-p相当于test减p。

高洛峰

这是驼峰写法
js.style.font-weight 直接这样写会出错的
要么写成驼峰写法
js.style.fontWeight

要么写成style['property']

阿神

javascript作为浏览器脚本,自然要能够操纵css等东西

但是

这里有个问题: css许多属性都以-作连接号,而javascript中,对象的属性绝不可以出现减号

于是,机智的作者灵光一闪: 不如在js里就用驼峰命名来访问css属性吧,这样看起来就不会太挫

从此,访问css属性时,你既可以用驼峰命名,也可以用减号连接命名了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号