如何使用jQuery获取锚点的:hover CSS样式?

5

如何使用jQuery实时获取CSS样式表中的:hover伪类?

愚蠢的例子:

a.foo {
    color: red;
    font-size: 11px;
}

a.foo:hover {
    color: blue;
    font-size: 12px; 
}

如何在鼠标移动到锚点之前检索颜色和字体大小?

可能是Get the css value from :hover with .css() - jquery的重复问题。 - Zach Saucier
@ZachSaucier 是的,但这个问题是较早之前的,所以另一个是重复的。 - apelliciari
抱歉,那不正确 - Zach Saucier
4个回答

4
如果确实需要,您可以通过document.styleSheet属性访问此信息。这里提供了一个示例:http://jsfiddle.net/Xm2zU/1/ 请注意,IE需要自己的代码来完成此操作,因为它使用“.rules”而不是“.cssRules”等。

请注意,如果样式表位于另一个域中,则该代码无法工作,因为存在同源策略。 - Rob W

1

这些额外的选择器不错,但它们是否被jQuery 1.3支持?是的,我已经使用了hover事件,但我需要使“hover”脚本“通用”,这样可以直接在CSS样式表上更改样式,而不是直接将样式传递给函数/对象。 - apelliciari
@avastreg:我也没有使用过它们,所以我不知道它们是否有效 =) - Can Berk Güder

1
如何在鼠标悬停在锚点之前检索颜色和字体大小?
不行。在将鼠标悬停在元素上之前,您无法检索:hover伪类的样式声明。这是因为JavaScript只能使用DOM与HTML交互。除非对元素进行mouseover,否则DOM不可用于悬停状态的样式信息,并且因此您无法检索这些值(即使模拟悬停状态)。

0
你可以使用 .hover() 函数代替。 http://api.jquery.com/hover/
$( "a.foo" ).hover(
  function() {
    $( this ).css( 'color','red' );
  }, function() {
    $( this ).css( 'color','blue');
  }
);

不是我想要的意思,我想要从一个元素中检索悬停状态,而不是处理悬停。 - apelliciari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接