jbl*_*blz 2 javascript wordpress jquery
我是JS的新手,我无法让它工作.
这是我的代码
jQuery('ul.menu li').each(function() {
jQuery(this).removeClass('current-menu-item');
jQuery(this).removeClass('current_page_item');
});
jQuery(this).parents('li').addClass('current_page_item');
jQuery(this).parents('li').addClass('current-menu-item');
Run Code Online (Sandbox Code Playgroud)
现在应该做的是从导航菜单上的一个链接中删除突出显示,并突出显示已单击的链接(我有一个AJAX实现).
出于某种原因,它没有做任何事情.我有一种感觉,这是由于'这'有另一种方法来构造这个代码所以我可以解决代码是错误的,我不相信它,或因为'这'?
编辑:
道歉,似乎我没有提供足够的信息.我正在使用Twenty Fourteen wordpress主题,但我正在使用AJAX服务这些页面.
http://twentyfourteendemo.wordpress.com/
我有全局应用的代码(我在同一个地方有其他代码切换导航一旦点击(在移动设备上),并且工作正常)
我在顶部有菜单(没有任何下拉菜单,只有链接).我不能给出一个链接,因为它目前不是外部的.我的代码应该努力改变这个吗?
正如一些人评论"这是什么'这个'"我觉得我完全错过了一些东西.
你不需要循环每个项目来逐个删除类,这更容易:
jQuery('ul.menu li').removeClass('current-menu-item').removeClass('current_page_item');
Run Code Online (Sandbox Code Playgroud)
或者(它是一样的):
jQuery('ul.menu li').removeClass('current-menu-item current_page_item');
Run Code Online (Sandbox Code Playgroud)
但我不明白这是什么'这个':
jQuery(this).parents('li').addClass('current_page_item');
jQuery(this).parents('li').addClass('current-menu-item');
Run Code Online (Sandbox Code Playgroud)
你的意思是 :
jQuery('ul.menu li').addClass('current_page_item current-menu-item');
Run Code Online (Sandbox Code Playgroud)
或者,如果您正在使用事件监听器(例如点击,如@Daniel Sanchez对评论的感觉),您只需要:
jQuery('ul.menu li').click(function(){
// Remove class on each item
jQuery('ul.menu li').removeClass('current-menu-item current_page_item');
// Add class for this one
jQuery(this).addClass('current_page_item current-menu-item');
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
148 次 |
| 最近记录: |