在jquery中获取链接的颜色

时间:2012-12-03 23:09:20

标签: jquery css pseudo-class

我想用jquery获取我页面上链接的颜色。说实话,我想跟踪我的页面的访问者,看他们是否去过其他网站,然后根据他们访问过的网站做出推断。

这个想法是这样的:我有一个指向profootballtalk.com的链接。如果他们访问过该网站,则通过使用:active pseudoclass,链接应显示为红色。如果没有,那就是蓝色。然后我使用jquery来获取link元素的css(“color”),告诉我如果返回“red”,他们就去过那个站点。

所以我设置了一个简单的html页面,猜猜是什么......它说每次链接都是蓝色的,即使它是红色的。有谁知道发生了什么?我不认为这会落在通常的“jquery不支持伪类”的答案之下,因为它只需要抓住元素的渲染颜色。

这是我的整个html页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<style>
a:visited {
    color:red;
}
</style>
</head>
<body>
<a href="http://www.w3schools.com/css/css_pseudo_classes.asp">Linkitylinklinklink</a>
<a id="thisguy" href="http://whatscookinerndog.blogspot.com/2010/07/casa-de-luz-sun-cheese.html">facebook</a>
<script>
$(document).ready(function(){
    var color = $("#thisguy").css("color");
    alert(color);
});
</script>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

由于现代浏览器中的安全功能,例如,这是不可能的。 FireFox:http://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to-css-vistited/

您必须使用其他内容,例如HTML5 localStorage,Cookie或服务器端存储来记住您的用户&#39;运动。