单击jquery更改文本颜色

时间:2011-09-06 23:54:25

标签: jquery html css

我有以下css和jquery代码,试图在点击ul中的文本时更改文本颜色。如果当前文本颜色为#d49a9a,我想将其更改回#c2c0c0,反之亦然。

.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>

请你告诉我我做错了什么。

2 个答案:

答案 0 :(得分:2)

好的,我看到发生了什么。最初你有错误的标签,但目前你需要使用$(".navContainer li")而不是$("#navContainer li")因为navContainer是一个类而不是id。我已经把一个演示组合在一起,这应该让你去。

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

答案 1 :(得分: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,就像put一样 <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script><head> 您可能会看到演示http://jsfiddle.net/CedZs/