我将类设置为元素,但在加载页面后,该类将被删除。
我在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 :(得分:1)
jQuery是脚本语言...加载页面时,肯定会删除您以前的功能,因为不会触发click事件,因此它将无法正常工作。...
加载页面后,只需通过PHP放置一些逻辑即可。...
答案 1 :(得分:0)
使用JQuery,您可以在加载页面时执行代码:
$(document).ready(function(){
// your code here
});
答案 2 :(得分: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>
这会在php
呈现所有html之后强制执行答案 3 :(得分:0)
首先将您的函数包装在$(document). ready(function () {})
中并使用其中的$('#main-nav'). on('click', 'li > a', function () {} )
方法。 . on()
最好将事件侦听器附加到动态加载的元素。