从document.querySelectorAll返回的对象获取css样式

时间:2017-05-03 11:42:27

标签: javascript jquery css

我需要从JavaScript querySelectorAll函数返回的对象中获取CSS样式属性,如下所示:

elements = document.querySelectorAll(".login_window, .confirmation_message_window");

可以使用style参数轻松检索CSS样式属性,如下所示(以下是仅针对索引0的示例):

elements[0].style

然而,这仅返回定义 in-line 的样式属性,或者通过使用相同的方法设置它们定义的样式属性(这是因为它将它们置于行内)

不幸的是,我需要检索CSS文件中定义的top样式属性。

通常如果只有一个类的实例,我会通过.css()函数使用jQuery,但是我不能像以前那样单独分离DOM对象使用上面的方法,因为同一个类有多个实例。

有人建议此问题与this question重复。据我所知,这些答案没有提供解决方案,因为他们假设用户可以为类提供选择器,我正在处理通过document.querySelectorAll为同一类的多个实例提供的DOM对象。

类似于评论中建议的方法是使用:

style = window.getComputedStyle(elements[0]);
top = style.top;

这确实有效,除了它以像素为单位返回值,并且烦恼地在我有calc(50% - 120px);文件的CSS中,这是我需要的,因为我需要更改120px部分以保留calc组件

0 个答案:

没有答案