2011-09-06 195 views
0

我有下面的CSS和jQuery代碼,嘗試改變文本顏色,當點擊ul中的文字時。如果當前的文字顏色是#d49a9a,我想將它改回#c2c0c0,反之亦然。點擊jquery改變文字顏色

.navContainer ul{ 
    left: 10px; 
    top: 20px; 
    position: absolute; 
    color: #c2c0c0; 
    font-family: 'Terminal Dosis'; 
    font-weight: 200; 
    font-size: 20pt; 
    list-style-type: none; 
    line-height: 50px; 
} 
.navContainer a { 
    text-decoration: none; 
    color: #c2c0c0; 
} 
.navContainer { 
    left: 150px; 
    top: 150px; 
    position: absolute; 
} 

編輯---這裏是我的html

<head> 
...some code 
<script type="text/javascript"> 
      $("#navContainer li").click(function() { 
       $("#navContainer li").css("color", "#d49a9a"); 
       $(this).css("color", "#c2c0c0"); 
      }); 
      </script> 
</head> 
<div class="navContainer"> 
      <ul> 
       <li class="navText">Work</li> 
       <li class="navText"><a href="#">Blog</a></li> 
       <li class="navText">About</li> 
       <li class="navText">Contact</li> 
      </ul> 
     </div> 

請你能告訴我什麼,我做錯了。

+0

你能解釋哪部分不工作? –

+0

當文檔準備好時,你是否正在觸發jQuery?你能提供完整的代碼嗎? – Usman

+0

@Usman,我已經更新了這個問題。 –

回答

1

好吧,我看看發生了什麼。最初你有錯誤的標籤,但目前你需要使用$(".navContainer li")而不是$("#navContainer li"),因爲navContainer是一個類而不是一個id。我已經一起演示了一個應該讓你去的演示。

http://jsfiddle.net/nHJvz/1/

+0

謝謝,但我不認爲我把jquery放在正確的位置,你能檢查這個問題嗎? –

+0

@XcodeDev是的,我明白你在說什麼。它需要位於腳本標記中,而不是樣式標記。 [像這樣](http://jsfiddle.net/nHJvz/)。 –

+0

@XcodeDev請參閱我的編輯。 –

2

更換

<script type="text/javascript"> 
      $("#navContainer li").click(function() { 
       $("#navContainer li").css("color", "#d49a9a"); 
       $(this).css("color", "#c2c0c0"); 
      }); 
</script> 

<script type="text/javascript"> 
    $(document).ready(function(){ 
       $(".navContainer li").click(function() { 
        $(".navContainer li").css("color", "#d49a9a"); 
        $(this).css("color", "#c2c0c0"); 
       }); 
    }); 

    </script> 

還要確保您加載正確的jQuery就像把 <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script><head> 您可能會看到一個演示http://jsfiddle.net/CedZs/