如何在JQuery中设置链接访问的颜色

How to set link visited color in JQuery

本文关键字:链接 访问 颜色 设置 JQuery      更新时间:2023-09-26

如何设置"a"标签的访问颜色?这里是我的代码

theobj.find('a:visited').css('color', thejson.WidgetInfo.TextColor);

上面的代码不能工作。我只能使用内联css。有办法做到这一点吗?

您可以构造一个样式标签,然后将其写入页面。

var visited_link_styling = "<style> a:visited{ color:'red'; } </style>";
$('head').append( visited_link_styling );

这可能会有点令人沮丧,因为JavaScript不擅长多行字符串。

我知道jQuery中没有访问选择器,但类似的问题指向一个插件来处理这个人头马夏普访问插件

我建议你有一个css类并设置这个类,但由于你只能使用内联样式,你可以尝试这个

theobj.find('a').attr("style", "color:#000000 !important");

你实际上不能在一个元素上设置任何只适用于某些伪选择器的属性,比如visit。CSS文档是声明性的,因为您将CSS包含在文档中,然后规则集就可用了。JavaScript不是声明性的,而是可执行的,这意味着您只能捕获一些事件,然后对其进行响应。换句话说;你可以选择所有被访问的链接并为每个链接设置颜色,但你不能为已访问的链接设置颜色。

现在,为了实现你想要的,你可以为每个锚点上的click事件设置一个'live'事件处理程序,然后应用相应的CSS。

出于好奇;为什么不直接在样式元素或CSS文档中设置规则呢?

您想使用jQuery而不是纯CSS的原因是什么?访问过的链接和未访问过的链接表现是否不同?

根据你对上述问题的回答,解决方案会有所不同。

CSS:

a:hover { color: #000; }

jQuery(用于多个链接颜色属性):

var ele = $("#widget a"); // Replace the desired element/object here
var eleColor = ele.css('color'); // Grab what the element's color is
if(eleColor != '#000000' || eleColor != '#000'){ // If it doesn't match X or Y
ele.css("color","000"); // Set to default color
}

^替换上面所需的颜色。

或方法2:

$("#widget a").css("color","000"); // Set all links to #000

或方法3:

$("#widget a").click(function(){ $(this).css("color","000"); });

工作示例:http://jsfiddle.net/9N5Xe/