如何在JQuery中设置链接访问的颜色
如何设置“a”标签的访问颜色。 这是我的代码
theobj.find('a:visited').css('color', thejson.WidgetInfo.TextColor);
上面的代码不起作用。 我只能使用内联css。 有没有办法做到这一点?
我知道jQuery中没有访问过的选择器,但类似的问题指向一个插件来处理这个Remy Sharp访问过的插件
您可以构造样式标记,然后将其写入页面。
var visited_link_styling = ""; $('head').append( visited_link_styling );
这可能会有点令人沮丧,因为JavaScript不擅长多行字符串。
我建议你有一个css类并设置该类,但由于你只能使用内联样式,你可以试试这个
theobj.find('a').attr("style", "color:#000000 !important");
实际上,您无法在仅适用于某些伪访问器的元素上设置任何属性。 CSS文档是声明性的,因为您在文档中包含CSS,然后可以使用规则集。 JavaScript不是声明性的,而是执行的,这意味着您只能捕获一些事件然后对此做出响应。 换一种说法; 您可以选择所有访问过的链接并为每个链接设置颜色,但不能为访问过的链接设置颜色。
现在,为了实现您想要的function,您可以为每个锚点上的click事件设置“实时”事件处理程序,然后相应地应用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/