Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CSS属性的跨浏览器动态设置_Javascript_Css_Internet Explorer_Cross Browser_Internet Explorer 6 - Fatal编程技术网

Javascript CSS属性的跨浏览器动态设置

Javascript CSS属性的跨浏览器动态设置,javascript,css,internet-explorer,cross-browser,internet-explorer-6,Javascript,Css,Internet Explorer,Cross Browser,Internet Explorer 6,我有一个函数,它获取许多数据片段,并为定义的元素设置CSS属性 代码如下: function setStyle(element,property,target){ element.style[property] = target; } var EL = document.getElementById("id"); setStyle(EL,"width","50px"); 它在大多数浏览器中运行良好,但不适用于IE6-IE9 我找到了document.defaultView.getC

我有一个函数,它获取许多数据片段,并为定义的元素设置CSS属性

代码如下:

function setStyle(element,property,target){
     element.style[property] = target;
}

var EL = document.getElementById("id");
setStyle(EL,"width","50px");
它在大多数浏览器中运行良好,但不适用于IE6-IE9

我找到了
document.defaultView.getComputedStyle
元素.currentStyle[type]
,但这些方法获取样式,我无法使用它们进行设置

有什么办法可以为老年人做到这一点吗


我不想使用jQuery或任何其他JS库,谢谢。

您考虑过使用jQuery吗?它为您处理所有跨浏览器问题。您可以通过以下语句完成相同的任务:

$('#id').width('50px');

默认方式为
element.style.property=“value”
,如:

document.getElementById("id").style.width = "50px";
没有理由不起作用。但是,作为替代,考虑在类中设置CSS样式,并通过<代码>类名称< /代码>属性将其添加到元素中。它得到广泛支持:

css:

js:



编辑

另一种方法是,在IE8+中(如果您不需要更低的版本)将实际的
样式设置为DOM元素,这样您就可以获得作为参数的属性:


$('#id').css('width','50px')
准确地说。对不起!我忘了说,如果您想使用jQuery设置其他样式,我也不想使用jQuery或任何其他js库(已编辑)。我发现在这些情况下,它是一个有用的参考。我在函数中使用它,我将在函数参数中定义应该更改的属性,因此我不能使用
element.style.property=“value”
编辑谢谢,但我真的需要IE6支持它
.myClass { width: 50px; }
document.getElementById("id").className = "myClass";
function setStyle(element,property,target){
    element.setAttribute("style", property + ":" + target);
}
var el = document.getElementById("test");
setStyle(el, "color", "red");