javascript - CSSStyleDeclaration 的 getPropertyValue() 和括号符号 [] 之间有区别吗?
问题描述
例如,我们需要body
访问padding-right
let el = document.querySelector('body');
let style = window.getComputedStyle(el);
多亏了这个解释,很明显它可以通过以下方式安全地完成:
style.paddingRight
或者
style.getPropertyValue('padding-right')
但是,这似乎也可以正常工作:
style['padding-right']
有什么不同吗?谢谢
解决方案
一个区别是getPropertyValue
保证返回一个字符串,而使用直接属性访问(JavaScript 的括号或点表示法)你可以获得undefined
. getPropertyValue
在这种情况下将返回空字符串。
let el = document.querySelector('body');
let style = window.getComputedStyle(el);
console.log(style.something === style.getPropertyValue('something')); // false
推荐阅读
- pandas - How to replace space with a digit in middle of the mobile number
- vba - Userform runtime error 380- could not set the rowsource property - fix?
- angular - Unable To Add Angular Material To Angular Custom Library
- oauth-2.0 - Spring Boot + Security OAuth2.0 Client with Custom Provider
- groovy - GEB: Disable implicit assertions in waitFor block
- c# - How to fill a wpf tree view using mvvm from a model with "infinte" levels
- c# - How to pass a plus sign in a string from a view to controller?
- c# - 我如何从这个模拟服务中获得结果?
- react-select - 聚焦时如何删除 MultiValueRemove 上的红色背景
- xml - 读取从navison收到的xml响应并将响应绑定在mvc模型中并显示在表格中