2011-09-06 285 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/