4

リンクがクリックされたときに背景色とテキスト色の両方を変更するコードに問題があります.....

<div id="main_nav">
    <ul class="navigation">
        <li class="tab1"><a href="javascript:void(0);">My Account</a></li>
        <li class="tab1"><a href="javascript:void(0);">Available Times</a></li>
        <li class="tab1"><a href="javascript:void(0);">Completed Jobs</a></li>
        <li class="tab1"><a href="javascript:void(0);">New Jobs [<span class="menu_count2"></span>]</a></li>
        <li class="tab1"><a href="javascript:void(0);">Todays Jobs [<span class="menu_count"></span>]</a></li>
    </ul>
</div>

これはjqueryです....

$(document).on('click', '.tab1', function(){
    $('.tab1').css({'background-color' : '#5B1762'});
    $('.tab1 a').css({'color' : '#fff'});
    $(this, '.tab1').css({'background-color': '#ccc'});
    $(this, '.tab1 a').css({'color': 'red'});
});

これにより背景色が変更されますが、テキストは css ファイルのように白のままです。

4

2 に答える 2

8

$(context, selector)、変更の代わりにコーディングしてい$(selector, context)ます:

$(this, '.tab1').css({'background-color': '#ccc'});
$(this, '.tab1 a').css({'color': 'red'});

に:

$(this).css({'background-color': '#ccc'});
$('a', this).css({'color': 'red'});
于 2012-11-12T08:53:15.937 に答える
2

そのようにすることもできます:

$('.tab1').click( function(){
    $('.tab1').css({'background-color' : '#5B1762'}).find('a').css({'color' : '#fff'});
    $(this).css({'background-color': '#ccc'}).find('a').css({'color': 'red'});
});
于 2012-11-12T09:04:15.690 に答える