【发布时间】:2021-09-02 22:11:47
【问题描述】:
我正在尝试编写一个函数,该函数采用元素的 Id 并给出应用于该元素的所有样式属性(及其值)的列表。它应该考虑内联样式以及css文件中定义的样式。
当我在参数中提供样式属性名称以及元素的 id 时,我可以使函数工作,但我只想传递元素的 id,并且应该能够获取所有样式属性以及值。
函数应该类似于getStyleById(elementId);
PFB 代码 sn-p 到目前为止:
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);
}
}
【问题讨论】:
-
我认为你没有提到什么不起作用
-
也许这会有所帮助 - stackoverflow.com/questions/5509830/…
-
@LiviuT。当我在参数中提供样式属性名称以及元素的 id 时,我可以使函数工作,但我只想传递元素的 id 并且应该能够获取所有样式属性以及值。
标签: javascript html css