我需要从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组件