为了账号安全,请及时绑定邮箱和手机立即绑定

使用jquery的 prop('width')获得的宽度与实际不同

使用jquery的 prop('width')获得的宽度与实际不同

慕的地8271018 2018-08-03 12:02:39
在使用jquery的prop('width')方法获得的元素宽度值与实际的宽度不同,不解原因?中间没用改变浏览器窗口大小
查看完整描述

2 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

prop读取的是该元素的width属性 并不一定是宽度
与width()类似的应该是

$('#color_box).css("width")


查看完整回答
反对 回复 2018-08-06
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

prop('width')获取的是你设置在html标签里的width属性值,能获取到值的前提除了已经给属性width赋值(或本身有默认值,如canvas),还必须要求这个html元素天生具备这个属性,否则获取不到的:如div即使被设置了也获取不到,table、td、canvas等则可以的。
width()获取的是内容区的实际宽度,即不包含border,padding的宽度

所以,你会发现两者的值不一样。

本例中,和提问者沟通后,场景用的canvas,没有设置属性width,根据W3标准Canvas的默认width是300,height是150

https://img1.sycdn.imooc.com//5b684e3e0001845006910123.jpg

查看完整回答
反对 回复 2018-08-06
  • 2 回答
  • 0 关注
  • 946 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信