2014-01-17 59 views
0

HTML更改錨標籤背景的onclick當href是重定向鏈接

<div id="main_menu"> 
    <ul> 
     <li><a href="#">Main Page</a></li>    
     <li><a href="<?php echo $this->url(array('controller' => 'eftrqsthead','action' => 'new'), 'default', true) ?>">EFT Request Head</a></li>    
     <li><a href="<?php echo $this->url(array('controller' => 'eftrecvhead','action' => 'new'), 'default', true) ?>">EFT Receive Head</a></li>    
    </ul>   
</div> 

JS

$(document).ready(function(){ 
    $('#main_menu a').click(function(){ 
     $(this).addClass('tabSelect'); 
     $(this).siblings().removeClass('tabSelect'); 
    }); 
}); 

CSS

#main_menu ul li a:hover, 
#main_menu ul li a.tabSelect{ 
    background:url(../images/main_menu_bg_hover.gif) repeat-x; 
} 

什麼我想在這裏是要改變定位標記的背景點擊它之後。 問題是如果a href="#"它工作正常,但如果a href="some link",背景正在恢復到正常位置。

我該如何處理這種情況?謝謝。

+1

你可以請你的代碼在jsfiddle.net上,所以我們可以幫助你。 – user1853181

+0

您可以嘗試在鏈接上使用':visited',參見[這裏瞭解更多信息](http://www.w3schools.com/cssref/sel_visited.asp) – Martin

+0

嘗試使用background:url(../ images/main_menu_bg_hover.gif)repeat-x!important; –

回答

0

問題可能是,不同的CSS也影響元素。這可能是一個:訪問規則,或類似的東西。

最簡單的(本身並不是最好的)的方式來解決它可能是使用的重要:

#main_menu ul li a.tabSelect{ 
    background:url(../images/main_menu_bg_hover.gif) repeat-x !important; 
} 

,最好的辦法是使用調試工具(如螢火蟲或Chrome開發者工具)來查看哪種樣式適用於元素在工作時,以及何時不按您的意圖工作。差異會導致你的原因。