是否有跨浏览器的方式在Javascript中设置style.float?

是否有跨浏览器的方式在Javascript中设置style.float?,javascript,Javascript,通常,如果需要在JavaScript中设置样式属性,可以说: element.style.attribute = "value"; 虽然有一些细微的变化,但属性名通常是HTML属性名的一个类似版本,尽管有大小写 我的问题是float属性不起作用。Float是JavaScript中的一个关键字,因此style.Float为分页符生成所有JavaScript。我查看了MSDN,它说使用styleFloat如下: element.style.styleFloat = "value"; 这只适用于I

通常,如果需要在JavaScript中设置样式属性,可以说:

element.style.attribute = "value";
虽然有一些细微的变化,但属性名通常是HTML属性名的一个类似版本,尽管有大小写

我的问题是float属性不起作用。Float是JavaScript中的一个关键字,因此style.Float为分页符生成所有JavaScript。我查看了MSDN,它说使用styleFloat如下:

element.style.styleFloat = "value";
这只适用于IE。Firefox、Safari、Chrome和Opera——它们似乎都没有答案。我哪里做错了?对此必须有一个简单的答案。

使用cssFloat作为

element.style.cssFloat = "value";
除了IE 8和更早版本之外,这在任何情况下都有效,但您始终可以检测浏览器和开关,或者只是将它们两者都设置。不幸的是,没有办法在所有浏览器中只设置一个样式值

总之,每个需要设置浮动的人,只要说:

element.style.styleFloat = "value";
element.style.cssFloat = "value";
这应该适用于任何地方。

更好:

element.style.styleFloat = element.style.cssFloat = "value";

这是一种函数嗅探方法:

if (typeof elmt.style.cssFloat != "undefined")
    elmt.style.cssFloat = "none";
else
    elmt.style.styleFloat = "none";
但通常我们不需要为这种检测而烦恼。我用Chrome测试了user2719099的方法,如下所示:

        elmt.style.cssFloat = elmt.style.styleFloat = "none";
        console.log(elmt.style.cssFloat, elmt.style.styleFloat);
在控制台中效果也不错:

    none none

为什么不
element.style['float']=“value”?javascript对象中可以使用的字符没有限制。现在,
element.style.float
似乎可以正常工作,因为点表示法中也允许保留字。