【发布时间】:2023-03-05 23:08:01
【问题描述】:
var gunboxwidth = ($('h2 span').widest().width() + "px" + 30 + "px")
.widest() 抓取 h2 内的宽度跨度,我遇到的问题是当我没有时它工作正常
+ 30 + 'px'
这是为什么呢?我的语法错了吗?
【问题讨论】:
var gunboxwidth = ($('h2 span').widest().width() + "px" + 30 + "px")
.widest() 抓取 h2 内的宽度跨度,我遇到的问题是当我没有时它工作正常
+ 30 + 'px'
这是为什么呢?我的语法错了吗?
【问题讨论】:
试试:
var gunboxwidth = ($('h2 span').widest().width() + 30 + "px");
这会将 width 函数返回的数值加上 30,然后将其转换为字符串并添加“px”后缀。
例如,如果跨度的宽度是“20”,则 JQuery width 函数将返回数字 20——而不是像“20px”这样的字符串。所以上面的代码加上 30 并产生字符串 '50px'。你所拥有的会产生一个字符串值:
'20px30px'
...因为当您将字符串添加在一起时,第二个只是附加到第一个。
20 + 'px' = '20px'
'20px' + 30 = '20px30'
'20px30' + 'px' = '20px30px'
var gunboxwidth = ($('h2 span').widest().width() + 30);
...保持数字,然后使用它来例如再次使用 JQuery 的 width 函数设置另一个项目的宽度,例如:
$('.selector').width(gunboxwidth);
【讨论】: