将整个样式字符串设置为javascript中的元素(而不是单个样式参数)

将整个样式字符串设置为javascript中的元素(而不是单个样式参数),javascript,css,stylesheet,Javascript,Css,Stylesheet,我需要通过javascript将任意样式设置为span 我知道我可以这样做:span.style.height=“250px”; 但我需要能够从模板中插入随机的完整样式定义 比如说 float:left; text-decoration:underline; cursor:pointer; color:blue; 有没有办法在Javascript中实现这一点?比如: element.style=“此处的所有样式定义”有元素.setAttribute('style','…'),但在IE中失

我需要通过javascript将任意样式设置为span

我知道我可以这样做:
span.style.height=“250px”
; 但我需要能够从模板中插入随机的完整样式定义

比如说

float:left; 
text-decoration:underline; 
cursor:pointer; 
color:blue;
有没有办法在Javascript中实现这一点?比如:


element.style=“此处的所有样式定义”

元素.setAttribute('style','…'),但在IE中失败


有,但我没有尝试过。

如果您希望它是轻量级的,请创建一个函数,例如:

function setStyles(element, styles)
{
    for(var s in styles) {
        element.style[s] = styles[s];
    }
}
然后将样式作为对象文字传入:

setStyles(element, {float: "left",
                    textDecoration: "underline",
                    cursor: "pointer",
                    color: "blue"});
请注意,传入的样式引用必须遵循JavaScript的命名,因为函数只是通过JavaScript访问元素的
style
对象来更改样式


如果必须从字符串中获取样式输入,则可以非常轻松地解析它并创建对象文字。

那么.style.cssText属性如何

将要应用的样式扔给它,如下所示:

document.getElementById('myEl').style.cssText = 'float:left;margin-top:75px;';

至于浏览器支持,虽然它是IE专有的,但我相信它得到了很好的支持(至少在IEs、FF3和Safari 3.2 WIN中可以使用)。

注释-必须是独立代码。没有jQuery或其他lib…弄清楚jQuery是如何实现的可行吗?它完全是用js编写的,所以它必须在那里。它应该是
document.getElementById('myEl')。style.cssText='float:left;页边距顶部:75px;',因为
cssText
是一个字符串,而不是一个函数。捕捉得好。在过去的3年里,它应该是一个字符串!:-)仅供参考:这是令人惊奇的,这是一个救生圈!谢谢你的回答:)