2013-08-19 37 views
2

好吧,基本上,我说,3个链接,一些文本,然后3个div。 (例如:现在改变多个项目的CSS:目标

<a href="#A">A</a><br/> 
<a href="#B">B</a><br/> 
<a href="#C">C</a><br/> 
<p>Blah blah</p> 
<div id="A">BlAh</div> 
<div id="B">BlBh</div> 
<div id="C">POMEGRANTE!</div> 

,此刻,你点击并跳转到A等,它突出了,因为CSS的的选择DIV:目标选择,但我也想强调链接A(以不同的方式到div),而格选定的有。有没有在Javascript或CSS可以做到这一点需要怪异的和/或不稳定的解决方法?

+0

你能提供jsfiddle这个? –

+0

你可以给点击链接上的“主动”类,你会喜欢jQuery解决方案吗? –

+0

这里你去:http://jsfiddle.net/f4FF4/2/ – Doge

回答

1

你可以给一个“任何方式活动“类到点击链接。下面是使用jQuery的一个实现:

$('a').click(function(){ 
    $('.active').removeClass('active'); 
    $(this).addClass('active'); 
}); 

Demo fiddle

和本地的Javascript之一:

var elems =document.getElementsByTagName("a"); 
for (var i = 0; i < elems.length; i++) { 
     elems[i].addEventListener("click", function (e) { 
       for (var i = 0; i < elems.length; i++) { 
        elems[i].className=""; 
       }; 
       this.className = "active"; 
     }); 
} 
+0

我会给它一个走!谢了哥们! – Doge

+0

虽然它在jsfiddle上工作,但是两个示例都可以在更复杂的文档中工作,即使删除可能会发生冲突的CSS后也是如此。我会继续努力,让你知道它是如何发展的。 – Doge

+0

@DuyAnh你在试用jQuery吗?如果是这样,你需要将代码包装在'$(document).ready(function(){...})中'jsfiddle默认这样做,请检查http://jsfiddle.net/2CzMb/1/ –

0

我认为你可以做到这样也..

$('div').click(function(){ 
    $('a').css('color',''); 
$('a[href=#'+$(this).attr("id")+']').css('color','red'); 
}) 

在这里你去:http://jsfiddle.net/f4FF4/6/

+0

那一个对我来说根本不起作用,不像上面的那个(它做到了,但只在jsfiddle上) – Doge

+0

更新:实际上,它确实有效,但它没有达到预期的效果。 – Doge