使用Javascript / JQuery更改CSS链接属性onClick?
所以例如我有两个链接:
Link 1 Link 2
我想要它,以便当我单击链接1时,链接1更改为蓝色以表示选定,链接2保持黑色。 当用户单击链接2时,链接2将颜色更改为蓝色,链接1将颜色更改为白色。
我目前有链接的默认CSS属性:
a:link { color: #green; }
我不确定处理“doColorChange()”函数的最佳方法。 最好为两种颜色创建两个CSS类,然后让doColorChange切换它们吗? 或者更好的是给两个链接一个id并以某种方式设置颜色属性? 我该如何做到这一点?
JQUERY:
$(function() { var links = $('a.link').click(function() { links.removeClass('active'); $(this).addClass('active'); }); });
HTML MARKUP:
Link 1 Link 2
我建议在链接中添加一个类,这样更容易。
CSS:
a.link.active { color:blue; }
添加了实时版(小提琴): http : //jsfiddle.net/gHb9F/
HTML
Link 1 Link 2
脚本(使用jQuery)
$(document).ready(function(){ $('a').click(function(){ $('a').css('color', 'black'); $(this).css('color', 'blue'); }); });
CSS
a:link { color: black; } a:visited { color: black; }
在这里小提琴
注意:颜色更改将应用于页面上当前的所有锚点。 如果要将其限制为少数几个,则将它们放在一个类中,并将该类添加到选择器中。
编辑:
如果您计划进行除简单颜色交换之外的任何操作,那么类绝对是.addClass
的方法(只需用.css
调用.addClass
和.removeClass
替换自定义类名。
var doColorChange=function(){ this.style.color="blue";}
链接的默认CSS颜色应为:
a:link { color: #0f0; /* or color: green; color: rgb(0,255,0); }
否则,使用jQuery,您可以通过以下方式实现此目的:
$('a').click( function(){ $('.selectedLink').removeClass('selectedLink'); $(this).addClass('selectedLink'); return false });
加上CSS:
.selectedLink { color: #00f; }
JS小提琴演示 。
在css中创建2个不同的类,然后在单击链接时在链接上交换类。 CSS
a.link{ color : green; } a.selected{ color : black; }
使用Javascript
jQuery(a).click(function() { jQuery('a.selected').addClass('link'); jQuery('a.selected').removeClass('selected'); jQuery(this).removeClass('link'); jQuery(this).addClass('selected'); });
给元素css类是一个更好的选择。 您可以通过在对象上使用className属性来完成此操作。 在doCOlorChange中你可以写this.className ="newclassName";