2012-12-07 87 views
4

我將元素賦給元素,但是在加載頁面之後類將被刪除。頁面加載後的JQuery .addclass()

我用這個功能在我的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代碼或者有任何解決方案時添加類?

+0

如果你想在頁面加載後執行代碼,然後使用$(document).ready(function(){// code //});如果你想執行圖像加載後,然後使用window.onload函數 –

回答

0

與jQuery當頁面加載就可以執行代碼:

$(document).ready(function(){ 
    // your code here 
}); 
+0

嗨。我的代碼正在執行,但在該類被刪除後。我需要在頁面加載後重新分類,或者將更多時間添加到類元素ul li a。 –

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確定

0

首先將您的功能封裝在$(document). ready(function() {})中,並在其中使用$('#main-nav'). on('click', 'li > a', function() {})方法。 . on()最好將事件偵聽器附加到動態加載的元素上。