We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
还是自己遇到的一个坑的总结吧!与其说是坑不如说自己学艺不精,让我先哭一会!!
简单就是获取一个css的height
(好吧 就是一个这么简单的需求)
好吧 长时间的JQ 我已经对原生无能了 让我默哀3秒!!!
document.querySelector('.className').style.height;
这个果然不生效 好吧 看来我真的倒退不少!让我再哭一会!!(哭你妹 快去总结)
在学习中发现 其实js原生获取css的方法很多,上面写的就是其中一种,只不过情景不对啊!
简单来说 读出你八辈祖宗的一个方法。
看到伪元素、我就懵逼了 我只知道伪类啊 这有神马区别?
伪元素 其实就是 ::before :: after :: first-line ::first-letter ::content 等等 伪类 :hover :link :first-child :active 等等
var oImg = document.getElementById('photo'); window.getComputedStyle(oImg, null).height;
var oImg = document.getElementById('photo'); oImg.style.height; // 只能获取css 样式表的
<style>
getComputedStyle
var oImg = document.getElementById('photo'); oImg.currentStyle.height; // 只能获取css 样式表的
getPropertyValue("background-color")
getAttribute("backgroundColor")
var oImg = document.getElementById('photo'); var oStyle = oImg.currentStyle? oImg.currentStyle : window.getComputedStyle(oImg, null); oStyle.getPropertyValue("background-color") oStyle.getAttribute("backgroundColor")
如果我想获取某个属性值可以 比如高度 ? (dom.currentStyle? dom.currentStyle : window.getComputedStyle(dom, null)).height;
(dom.currentStyle? dom.currentStyle : window.getComputedStyle(dom, null)).height;
如果是复合的某个属性获取? (oImg.currentStyle? oImg.currentStyle : window.getComputedStyle(oImg, null)).getPropertyValue("background-color")
(oImg.currentStyle? oImg.currentStyle : window.getComputedStyle(oImg, null)).getPropertyValue("background-color")
如果我想给这个属性重新设置这个高度? 可以先用上面方法取到,然后用 dom.style.height = XX + 'px'; 如果是复合的属性值,请注意是驼峰的写法!
dom.style.height = XX + 'px';
其实在看了这些以后,我用了上面的这个方法我依然没有获取到这个图片的高度?为什么啊 ?
因为图片存在一个加载的问题,你刚进来获取当然无法获取到? 其实可以用onload事件来解决,具体还有其他更多的方法。
The text was updated successfully, but these errors were encountered:
所以最终获取不到样式的原因是图片加载的问题导致的?。。。你这个标题炫技党。
Sorry, something went wrong.
@mmmaming 被你发现了
No branches or pull requests
还是自己遇到的一个坑的总结吧!与其说是坑不如说自己学艺不精,让我先哭一会!!
需求
简单就是获取一个css的height
(好吧 就是一个这么简单的需求)
实践
好吧 长时间的JQ 我已经对原生无能了 让我默哀3秒!!!
这个果然不生效 好吧 看来我真的倒退不少!让我再哭一会!!(哭你妹 快去总结)
在学习中发现 其实js原生获取css的方法很多,上面写的就是其中一种,只不过情景不对啊!
getComputedStyle
简单来说 读出你八辈祖宗的一个方法。
看到伪元素、我就懵逼了 我只知道伪类啊 这有神马区别?
伪元素 其实就是 ::before :: after :: first-line ::first-letter ::content 等等
伪类 :hover :link :first-child :active 等等
dom.style
currentStyle
<style>
属性等)与getComputedStyle
那个读你八辈祖宗的很像,但是不能获取伪元素。且他们获取的属性也有很大差异。getPropertyValue和getAttribute
getPropertyValue可以不用驼峰,直接用其属性名
getAttribute主要是为了兼容IE获取属性值,需要驼峰的写法
getPropertyValue("background-color")
getAttribute("backgroundColor")
总结
如果我想获取某个属性值可以 比如高度 ?
(dom.currentStyle? dom.currentStyle : window.getComputedStyle(dom, null)).height;
如果是复合的某个属性获取?
(oImg.currentStyle? oImg.currentStyle : window.getComputedStyle(oImg, null)).getPropertyValue("background-color")
如果我想给这个属性重新设置这个高度?
可以先用上面方法取到,然后用
dom.style.height = XX + 'px';
如果是复合的属性值,请注意是驼峰的写法!
其实在看了这些以后,我用了上面的这个方法我依然没有获取到这个图片的高度?为什么啊 ?
因为图片存在一个加载的问题,你刚进来获取当然无法获取到? 其实可以用onload事件来解决,具体还有其他更多的方法。
The text was updated successfully, but these errors were encountered: