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

时间:2011-11-17 01:36:40

标签: 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,则变量frameHeight的输出为33726。

我不能为我的生活弄清楚如何做到这一点。

提前感谢您提供任何帮助

7 个答案:

答案 0 :(得分:4)

$('video').attr('height')返回一个字符串。在字符串中添加数字会将数字转换为字符串,并添加两个不是您想要的字符串。您想要添加两个数字。因此,您必须将此字符串转换为数字,以便您可以添加两个数字:

var videoHeight = parseInt($('video').attr('height'), 10);
var frameHeight = videoHeight + 26;

有几种方法可以将字符串转换为数字。以下是一些较为明显的内容。

parseInt(str, radix)
parseFloat(str)
Number(str)

使用parseInt时,请始终指定基数,否则,它将根据字符串的内容进行猜测(您几乎不需要)。

答案 1 :(得分:1)

添加之前

ParseInt。

var frameHeight = parseInt(videoHeight) + 26;

答案 2 :(得分:0)

试试这个。

var frameHeight = Number(videoHeight) + 26;

答案 3 :(得分:0)

你应该在videoHeight变量周围包装parseInt()。尝试一下,我希望这会有所帮助。

答案 4 :(得分:0)

您必须使用parseInt

var videoHeight = parseInt($('video').attr('height'));

答案 5 :(得分:0)

var frameHeight = parseInt(videoHeight,10) + 26;

答案 6 :(得分:0)

var videoHeight = parseInt($('video').attr('height'));
var frameHeight = videoHeight + 26;