2013-08-19 38 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