4

クラスを要素に割り当てますが、ページをロードした後にクラスが削除されます。

script.jsでこの関数を使用します

$('#main-nav li ul li a').click(function(){
    $('#main-nav li ul li').children().removeClass('current');
    $(this).addClass('current');
});

これは私のPHPビューで:

 <ul id="main-nav">  <!-- Accordion Menu -->
    <li>
       <a href="#" class="nav-top-item no-submenu"> <!-- Add the class "no-submenu" to menu items with no sub menu -->
    On site
       </a>       
    </li>

    <li> 
       <a href="#" class="nav-top-item current"> <!-- Add the class "current" to current menu item -->
    Programs
       </a>
   <ul>
       <li><a href="<?php echo site_url('admin/country_management')?>">Manage country</a></li>
       <li><a href="<?php echo site_url('admin/channel_management')?>">Manage channel</a></li>
       <li><a href="#">Manage Comments</a></li>
       <li><a href="#">Manage Categories</a></li>
    </ul>
       </li>

</ul> <!-- End #main-nav -->

これを使用する<li><a href="<?php echo site_url('...')?>">Manage</a></li>と、現在のクラスが追加されますが、負荷が削除された後です。

ページのロード後にphpコードを使用する場合、または解決策がある場合、クラスを追加するにはどうすればよいですか?

4

4 に答える 4

0

JQuery を使用すると、ページの読み込み時にコードを実行できます。

$(document).ready(function(){
    // your code here
});
于 2012-12-07T15:18:27.160 に答える
0

これはうまくいくはずです:

$(document).ready(function(){
    $('#main-nav li > a').click(function(e){
        $('#main-nav a').removeClass('current');
        $(e.target).addClass('current');
    });

});

うまくいかない場合</body>は、ドキュメントの最後で次のスクリプト ブロックを試してください。

<script type="text/javascript">
$(function(){
    $('#main-nav li > a').click(function(e){
        $('#main-nav a').removeClass('current');
        $(e.target).addClass('current');
    });
});
</script>

これにより、すべてのhtmlがphpによってレンダリングされた後に実行が強制されます

于 2012-12-07T15:50:45.450 に答える