我有一个带有 div id="videoFrame"
的页面,其中包含视频标签。视频具有可变的高度,因此我有一个函数来获取高度值并将其插入 div id="videoFrame"
的 css 中,如下所示:
var videoHeight = $('video').attr('height');
$('#videoFrame').css('height',videoHeight+'px');
这很好用。但这是让我发疯的部分。我的 div id="videoFrame"
底部有一个带有免责声明的 p 标签。所以我想在返回的高度上添加一个额外的 26px。我尝试过:
var videoHeight = $('video').attr('height');
var frameHeight = videoHeight + 26;
$('#videoFrame').css('height',frameHeight+'px');
但正如您所期望的,它会在返回值的末尾添加 26。即,如果返回值为 337,则 var frameHeight
的输出为 33726。
我一生都无法弄清楚如何做到这一点。
预先感谢您的帮助
最佳答案
$('video').attr('height')
返回一个字符串。将数字添加到字符串会将数字转换为字符串并将两个字符串相加,这不是您想要的。您想要将两个数字相加。因此,您必须将此字符串转换为数字,以便可以将两个数字相加:
var videoHeight = parseInt($('video').attr('height'), 10);
var frameHeight = videoHeight + 26;
有多种方法可以将字符串转换为数字。以下是一些比较明显的问题。
parseInt(str, radix)
parseFloat(str)
Number(str)
使用parseInt
时,始终指定基数,否则,它会根据字符串的内容进行猜测(您几乎永远不会想要)。
关于jquery - 使用 jQuery 将整数添加到返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8161063/