我试图编写一个函数,它接受元素的 Id 并给出应用于该元素的所有样式属性(及其值)的列表。它应该考虑内联样式以及 css 文件中定义的样式。
当我在参数中提供样式属性名称和元素的 id 时,我可以使函数工作,但我只想传递元素的 id,并且应该能够获取所有样式属性和值。
功能应该是这样的 getStyleById(elementId);
PFB 到目前为止的代码片段:
var styleNode = [];
var styles;
var sty = x.style;
var len = sty.length;
for (var i = 0; i < len; i++)
{
styles = sty.item(i);
if (x.currentStyle) //IE for External/Global Styles
{
var a = x.currentStyle[styles];
styleNode.push(styles + ":" + a);
}
else if (document.defaultView && document.defaultView.getComputedStyle) //Firefox,Chrome,Safari for External/Global Styles
{
var b = document.defaultView.getComputedStyle(x, "").getPropertyValue(styles);
styleNode.push(styles + ":" + b);
}
else //Works in Inline Styles only
{
var c = x.style[styles];
styleNode.push(styles + ":" + c);
}
}