Javascript 读取元素JSDOM样式的最佳实践

Javascript 读取元素JSDOM样式的最佳实践,javascript,html,testing,jsdom,Javascript,Html,Testing,Jsdom,要使用JSDOM从元素中获取样式属性,我使用以下命令: window.getComputedStyle(element) 这是我找到的唯一的例子。使用element.style.someAttribute似乎不会返回任何内容 使用getComputedStyle是查找属性值的最佳方法吗 泰 元素。style只反映HTML元素的style属性的内容。它没有考虑到可以使用类样式、id样式等设置的真实样式 请看这里: (强调矿山) HtmleElement.style属性用于获取和设置元素的内联样式

要使用JSDOM从元素中获取样式属性,我使用以下命令:

window.getComputedStyle(element)
这是我找到的唯一的例子。使用
element.style.someAttribute
似乎不会返回任何内容

使用
getComputedStyle
是查找属性值的最佳方法吗


元素。style
只反映HTML元素的
style
属性的内容。它没有考虑到可以使用类样式、id样式等设置的真实样式

请看这里: (强调矿山)

HtmleElement.style属性用于获取和设置元素的内联样式。获取时,它返回一个CSSStyleDeclaration对象,该对象包含该元素的所有样式属性的列表,并为元素的内联样式属性中定义的属性指定了值

这意味着:

mySpan=document.getElementById('my-span'))
console.info('element.style')
console.info('color',mySpan.style.color)
console.info('font-weight',mySpan.style.fontwweight)
console.info('getComputedStyle')
console.info('color',window.getComputedStyle(mySpan.color))
console.info('font-weight',window.getComputedStyle(mySpan.fontwweight)
#我的跨度{
字体大小:粗体;
}

这是红色粗体的
简短回答,是的。使用element.style.someAttribute似乎不会返回任何内容,因为您尚未将这些属性设置为element。您正在使用CSS进行设置。style对象具有历史记录,其各种属性的值取决于它们的设置方式,不一定与计算值匹配,因此引入了getComputedStyle。请参阅MDN:。还有,拉杰什是对的