jQuery/JS–;获取CSS中单位设置的字体大小(vw单位)

jQuery/JS–;获取CSS中单位设置的字体大小(vw单位),jquery,css,viewport-units,Jquery,Css,Viewport Units,我已经使用vw设置了字体大小,但是我想在jQuery中检索这个值,但是当我使用$('.textarea').css('font-size')返回的是等价的px而不是vw单位 有什么方法可以让它返回正确的规定值吗?一旦在px中有了值,就用它乘以100/($(window.width()) 例如(在您的情况下): 请让我知道,如果在使用jQuery.css('font-size')时它起作用,则返回的值将始终是以像素为单位的计算字体大小,而不是使用的值(vw、em、%等)。您需要将此数字转换为所需的

我已经使用vw设置了字体大小,但是我想在jQuery中检索这个值,但是当我使用
$('.textarea').css('font-size')
返回的是等价的
px
而不是
vw
单位


有什么方法可以让它返回正确的规定值吗?

一旦在px中有了值,就用它乘以
100/($(window.width())

例如(在您的情况下):

请让我知道,如果在使用jQuery.css('font-size')时它起作用,则返回的值将始终是以像素为单位的计算字体大小,而不是使用的值(vw、em、%等)。您需要将此数字转换为所需的值

(以下使用24px的字体大小和1920px的窗口宽度作为示例)

要将px转换为vw,首先将计算出的字体大小转换为数字

// e.g. converts '24px' into '24'
fontSize = parseFloat($('.textarea').css('font-size'));
接下来,将该数字乘以99.114除以窗口宽度。 (通常在将px转换为vw时,您会将100除以窗口宽度,但我发现在转换字体大小时,结果有点不正确)

您可以选择清除通过四舍五入到最接近的第100位小数返回的大小数

// returns 1.24
fontSize.toFixed(2)
现在您已经有了所需的最终号码,只需在需要的地方手动添加“vw”

// returns 1.24vw
fontSize = fontSize + 'vw';
当然,如果你想缩短代码,你可以把这些放在一起

// returns 1.24vw
newFontSize = (parseFloat($('.textarea').css('font-size'))*(99.114/ $(window).width())).toFixed(2) + 'vw';

是的,除以窗宽,再乘以100:)谢谢!或者我想我可以使用
$('.textarea')[0].style.fontSize?@johnthepaner在某些浏览器中会返回“”,即使这样也会得到像素。按照skobaljic建议的方式计算它
,您只能通过DOM
检索px中的计算值,如上所述。(投票结束,作为副本)
// returns 1.24vw
fontSize = fontSize + 'vw';
// returns 1.24vw
newFontSize = (parseFloat($('.textarea').css('font-size'))*(99.114/ $(window).width())).toFixed(2) + 'vw';