jQuery - 如何获取/读取css属性:hover伪类

时间:2010-11-17 18:10:40

标签: javascript jquery css image-preloader

我正在处理一个图像预加载器,它将预加载页面上的所有图像。我的方法如下:

onDomReady,循环遍历$("*") //当DOM准备好时,遍历所有元素

  • 如果$(this).tagName.toLowerCase() == 'img',请阅读src属性,并预加载该图片
  • 如果$(this).css("background-image") != "none",请阅读背景图片道具并预加载该图片

我的问题是这种方法不适用于:hover类,它通常是需要预加载的图像。

我想做的是,在循环遍历所有元素的同时,检查:hover伪类的存在,然后检查该类的“background-image”属性的存在。 / p>

我真的很想坚持这种方法,因为它a)允许我不必明确指定我想要预加载的每个图像,以及b)在CSS中处理相对路径,如同阅读“ background-image“属性为我提供了相对于页面的路径。

所以,我的问题是:

是否可以使用jQuery读取元素的:hover伪类的CSS属性?如果没有,有什么建议吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

在加载页面以搜索所有DOM / CSS图像时,这将非常密集......在公共站点上可能不是一个好主意。一个很好的选择是利用图像精灵(http://www.google.com/images/nav_logo26.png)并用CSS定位它们

答案 1 :(得分:0)

听起来像精灵是解决这个问题的正确方法。但是如果由于某种原因无法实现它们,那么您要做的就是访问document.styleSheets集合来搜索规则,其中包括:将鼠标悬停在其中。 This page会让你开始。