点击它时,如何使用jquery突出显示链接?
例如,当我点击链接class1_1时,我想将此链接设为红色(或其他颜色)。
这里的javascript代码:
<script type="text/javascript">
$(function(){
$("#menu li").each(function(){
$(this).click(function(event){
var ul=$(this).children("ul")
var span = $(this).children("span")
if(ul.html()!=null)
{
if(ul.css("display")=="none")
{
ul.css("display","block");
span.addClass("up")
}else
{
ul.css("display","none")
span.removeClass("up")
}
event.stopPropagation();
}else
{
event.stopPropagation();
}
});
});
return false;
});
</script>
这里的html代码:
<ul id="menu">
<li class="title"><span>class1 </span>
<ul>
<li><a href="">class1_1</a></li>
<li><a href="">class1_2</a></li>
</ul>
</li>
<li class="title"><span>class2</span>
<ul>
<li><span>class2_1</span>
<ul>
<li><a href="">class2_1_1</a></li>
<li><a href="">class2_1_1</a></li>
</ul>
</li>
</ul>
</li>
</ul>
也许我无法清楚地解释我的问题,我的意思是最后一次onclick链接使它
颜色为红色,另一个链接设置为默认颜色
答案 0 :(得分:8)
可以使用CSS,不需要jQuery:
突出显示:
a:active {
background-color: #FF0000;
}
更改链接颜色:
a:active {
color: #FF0000;
}
编辑:回复您的评论...如果您的链接没有将浏览器定向到另一个页面,您可以使用Mike Robinson's answer来完成相同的效果,而无需离开页面并且不将颜色更改回默认值onblur
答案 1 :(得分:5)
认为应该这样做,虽然我现在手头没有jquery。假设'up'是一个让你的链接变红的课程:
$("ul#menu a").click(function(){
$(this).addClass('up');
});
答案 2 :(得分:4)
这应该有效:
使用Javascript:
$(function(){
$('.class1').click(function() {
$(this).toggleClass('active1');
});
});
CSS:
a.class1 { color: red; }
a.active1 { color: blue; }
HTML:
<a href="#" class="class1">some text</a>
最好使用toggleClass(2合1)而不是addClass / removeClass。
答案 3 :(得分:1)
我会推荐http://plugins.jquery.com/project/color jquery.color插件。它将允许您在各种html元素上设置颜色动画。
答案 4 :(得分:1)
<script type = "text/javascript" >
$(function() {
$("#menu li").each(function() {
$(this).click(function(event) {
$("#menu li").removeClass("high");
$(this).addClass("high");
var ul = $(this).children("ul")
var span = $(this).children("span")
if (ul.html() != null) {
if (ul.css("display") == "none") {
ul.css("display", "block");
span.addClass("up")
} else {
ul.css("display", "none") span.removeClass("up")
}
event.stopPropagation();
} else {
event.stopPropagation();
}
});
});
return false;
});
</script>
<style>
.high{color:red}
</style>
答案 5 :(得分:1)
使用Javascript:
$('.link').click(function() {
if (!$(this).hasClass('hi')) {
// If this link is not already highlighted, highlight it and make
// sure other links of class .link are not highlighted.
$('.hi').removeClass('hi');
$(this).addClass('hi');
}
});
的CSS:
a.hi { color: red; }
HTML:
<a href="#" class="link">my text</a>
<a href="#" class="link">that text</a>
<a href="#" class="link">this text</a>
答案 6 :(得分:0)
您可以使用CSS伪类活动来执行此操作。它为激活元素添加了特殊样式。
例如,你可以这样做:
a: active { color: red; }
小心,a:主动必须在a:hover in CSS定义后才能生效!!