如何获取元素:悬停样式
How can I get element:hover style?
我需要帮助,我想获得元素:悬停所有样式。例如:
<style type="text/css">
a {color: red;}
a:hover {color: blue;}
</style>
使用jquery,我们可以找到"a"元素的默认样式:
$('a').css('color');
并且它将以字符串的形式返回:"red";
但现在我想得到伪样式,比如:
$('a:hover').css('color');
它将返回"undefined",但我们需要"blue"。
请帮我解决这个问题。。。
纯Javascript做到了!
function getCssPropertyForRule(rule, prop) {
var sheets = document.styleSheets;
var slen = sheets.length;
for(var i=0; i<slen; i++) {
var rules = document.styleSheets[i].cssRules;
var rlen = rules.length;
for(var j=0; j<rlen; j++) {
if(rules[j].selectorText == rule) {
return rules[j].style[prop];
}
}
}
}
alert("Hovered Colour is "+getCssPropertyForRule('a:hover', 'color'));
下面是一个工作示例jsfiddle
这是因为没有类型为:hover
的元素a
。所以它总是返回一个undefined
。
我认为,在获得所有样式并在该文件中检查元素的属性之前,您无法使用jQuery或JavaScript获得伪类属性。
var color = window.getComputedStyle(
document.querySelector('a'), ':hover'
).getPropertyValue('color')
请查看此链接以获取更多信息。
您可以使用.hover()
函数。http://api.jquery.com/hover/
$( "a.foo" ).hover(
function() {
$( this ).css( 'color','red' );
}, function() {
$( this ).css( 'color','blue');
}
);
相关文章:
- 在元素悬停上显示带有javascript的弹出式网站
- 防止子元素悬停破坏父元素悬停
- jquery集合元素悬停
- 父元素悬停/活动/聚焦时隐藏元素
- 显示隐藏的容器元素 - 悬停仅在我单击容器后有效
- JQUERY可排序插件,当可拖动元素悬停在指定的元素上时启动函数
- Jquery 阻止堆叠元素悬停
- 在其他元素悬停时开始/暂停 HTML5 视频
- 在元素悬停时闪烁,同时尝试在同一事件上缩小其大小
- 如何使 li 元素悬停在动态
- "text长度"Internet Explorer中svg文本元素悬停时的更改
- 元素悬停时的暂停功能
- 将变量传递给Google Maps事件对象.(谷歌地图多边形,外部元素悬停)
- 更改多个图像/元素悬停在覆盖的图像HTML
- 如何在元素悬停时动态改变文本
- 当一个元素悬停在另一个元素上时高亮显示
- 显示/隐藏多个元素悬停与JQuery和HTML
- 如何使用jquery将显示为none的元素悬停
- jQuery, JavaScript,工作与3元素悬停
- 在元素悬停时触发javascript