我做了一个覆盖页面上某些元素的:hover的函数。它在正常效果和:hover效果之间消失。因为我不得不在我的CSS文件中创建一个.hover类。我认为这有点不干净。我如何阅读:hover伪类的内容?
更新 :我莫名其妙地弄错了。下面的示例不起作用。请参阅@bfavaretto的评论]以获取解释。
在Firefox,Opera和Chrome或正确实现的任何其他浏览器中,window.getComputedStyle非常简单。您只需要传递“ hover”作为第二个参数:
window.getComputedStyle
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <style type="text/css"> div { display: block; width: 200px; height: 200px; background: red; } div:hover { background: green; } </style> </head> <body> <div></div> <script type="text/javascript"> window.onload = function () { var div = document.getElementsByTagName("div")[0]; var style = window.getComputedStyle(div, "hover"); alert(style.backgroundColor); }; </script> </body> </html>
但是我不相信InternetExplorer尚无解决方案,除非document.styleSheets按照Gumbo建议使用。但是会有差异。因此,到目前为止,.hover上课是最好的解决方案。一点都不脏。
document.styleSheets
.hover