IE在追加html字符串时从维度中删除“%”

时间:2012-02-28 17:26:04

标签: javascript internet-explorer height width

我正在尝试将视频元素创建为字符串,从变量(也是字符串)设置高度和宽度,并且我发现IE9正在从维度值中删除“%”。这是一个简单的例子:

HTML:

<div id="videoWrap">
</div>

的javascript:

var height = '100%',
    width = '100%',
    video = '<video id="someId" width="' + width + '" height="' + height + '">' +
            '<source src="http://someSource.com" /></video>';

$('#videoWrap').append(video);

导致Chrome(或任何其他合理的浏览器):

<div id="videoWrap">
    <video id="someId" width="100%" height="100%">
        <source src="http://someSource.com" />
    </video>
</div>

导致IE:

<div id="videoWrap">
    <video id="someId" width="100" height="100">
        <source src="http://someSource.com" />
    </video>
</div>

有人有任何想法吗?

3 个答案:

答案 0 :(得分:3)

widthheight不是您应该如何为大小设置元素样式。这两个属性应该仅以像素为单位表示大小。

相反,请使用style="width: 100%; height: 100%;"正确执行此操作。

答案 1 :(得分:0)

这是因为IE在这种情况下对标准更为严格。

根据the HTML specification,尺寸必须指定为整数值作为像素。使用百分比无效。

答案 2 :(得分:0)

我建议你做以下事情:

var vdo = $('<video/>').css({'width':'100%','height':'100%'});

然后添加你的休息......