繁体   English   中英

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

[英]How to set link visited color in JQuery

如何设置“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 中没有访问过的选择器,但是类似的问题指向一个插件来处理这个Remy Sharp Visited Plugin

我建议您使用 css class 并将其设置为 class 但由于您只能使用内联样式,因此您可以试试这个

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

您是否有理由要使用 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
}

^ 替换上面所需的 colors。

或方法2:

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

或方法3:

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

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

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

现在,为了实现您想要的,您可以为每个锚点上的点击事件设置一个“实时”事件处理程序,然后相应地应用 CSS。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM