jquery - 使用 jQuery 将整数添加到返回值

标签 jquery

我有一个带有 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/

相关文章:

javascript - 带时间的日期选择器 HH :mm:ss

jquery - 从表单输入字段中删除 "$"

javascript - jQuery 输入 .val() 还是 .text()?两者都有效。 .text() 安全吗?

javascript - 使用 jQuery 定位多个 div

jquery - IE7中使用JQuery删除属性

javascript - jquery访问没有类名的表单

javascript - SimpleModal 在对话框中加载外部 HTML 页面

javascript - 如何获取选项选定的数据标签

javascript - JQuery attr 始终返回相同的值

javascript - Bootstrap 3.3 模态,带有 jQ​​uery 加载和返回值