javascript style.width在具有过渡doctype的firefox中不起作用

javascript style.width在具有过渡doctype的firefox中不起作用,javascript,css,doctype,transitional,Javascript,Css,Doctype,Transitional,我有一个脚本,可以在页面上弹出一个小DIV。如果删除DOCTYPE,在IE和FF中都可以正常工作,但在Firefox中,DOCTYPE为XHTML/Transitional时,宽度不会改变 this.container.style.visibility = "visible"; alert("this.container.style.width before = " + this.container.style.width) this.container.style.width = this.w

我有一个脚本,可以在页面上弹出一个小DIV。如果删除DOCTYPE,在IE和FF中都可以正常工作,但在Firefox中,DOCTYPE为XHTML/Transitional时,宽度不会改变

this.container.style.visibility = "visible";
alert("this.container.style.width before = " + this.container.style.width)
this.container.style.width = this.width;
alert("this.container.style.width after = " + this.container.style.width); 
this.container.style.height = this.height;
在IE和没有DOCTYPE的FF中,第一个警报显示为0,第二个警报显示为320(这是代码中其他地方设置的宽度)


在FF中,DOCTYPE为XHTML/Transitional时,两个警报都显示0。知道这是怎么回事吗?我想我可能需要在过渡时期明确地设置分区的位置,但我不确定

您是否尝试过设置:

this.container.style.visibility = "visible";
alert("this.container.style.width before = " + this.container.style.width);
this.container.style.width = this.width + 'px';
alert("this.container.style.width after = " + this.container.style.width);
this.container.style.height = this.height + 'px';

//Note the 'px' above
我发现在没有单位的情况下尝试设置数字的宽度/高度可能会导致问题。

您可以使用:

document.getElementById("td").style.visibility="hidden";
document.getElementById("td").style.display="none";
而不是宽度属性


它起作用了

我现在记不清了,因为这是4年前5个工作岗位,但我想我没有使用这种方法的原因是因为我正在制作div的动画,它需要从0开始移动到320。这是另一种隐藏元素的好方法。