一次点击取消高亮显示导航

时间:2014-08-14 作者:jblz

我使用的是214主题,我使用Ajax加载页面。

我想做的事-菜单栏可以取消导航栏上前一页的焦点,并突出显示当前页。

实际发生了什么-

没什么,只是保持不变。

我的代码:

// highlight the current menu item
jQuery(\'ul.menu li\').each(function() {
    jQuery(this).removeClass(\'current-menu-item\');
});
jQuery(thiss).parents(\'li\').addClass(\'current-menu-item\');
我也试过这个

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\');
导航栏应该像在库存WP安装中一样进行设置,因为我使用的是默认主题

<nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation">
CSS文件包含以下内容

.site-navigation li .current_page_item > a,
.site-navigation li .current_page_ancestor > a,
.site-navigation li .current-menu-item > a,
.site-navigation li .current-menu-ancestor > a 
因此JS似乎使用了正确的调用。

有没有其他方法可以让这一切顺利进行?我有另一个JS脚本,它可以在按钮可查看(移动)且执行正确时切换导航栏。

编辑:根据这个问题中的建议,我也尝试了这个代码

jQuery(\'ul.menu li\').each(function() {
jQuery(this).removeClass(\'current-menu-item\');
    jQuery(this).removeClass(\'current_page_item\');
    jQuery(this).removeClass(\'current_page_ancestor\')
    jQuery(this).removeClass(\'current_menu_ancestor\')

});
jQuery(this).parents(\'li\').addClass(\'current_page_item\');
jQuery(this).parents(\'li\').addClass(\'current-menu-item\');

1 个回复
SO网友:Tom J Nowell

您正在删除当前菜单项和当前菜单页,但是您的CSS引用了以下内容:

.site-navigation li .current_page_item > a,
.site-navigation li .current_page_ancestor > a,
.site-navigation li .current-menu-item > a,
.site-navigation li .current-menu-ancestor > a 
.current_page_ancestor.current-menu-ancestor 不是由javascript处理的,但它们是样式化的,因此这就是问题所在。您需要处理这些问题才能使其正常工作。

但是,如何做到这一点,是一个javascript/jquery问题,而不是WordPress问题

此外:

jQuery(thiss).parents(\'li\').addClass(\'current-menu-item\');
你是说thissthis?

结束

相关推荐

无法使用AJAX结果从SQL获取结果

我正在使用一个AJAX表单向代码提供一些东西,以便在db中查找。单独的表格,而不是WP选项。我从AJAX获得结果,但当我尝试执行sql时,它只返回0。这是功能: function myajax_inputtitleSubmit_func() { // check nonce $nonce = $_POST[\'nextNonce\']; if ( ! wp_verify_nonce( $nonce, \'myajax-next-nonce\' )

一次点击取消高亮显示导航 - 小码农CODE - 行之有效找到问题解决它

一次点击取消高亮显示导航

时间:2014-08-14 作者:jblz

我使用的是214主题,我使用Ajax加载页面。

我想做的事-菜单栏可以取消导航栏上前一页的焦点,并突出显示当前页。

实际发生了什么-

没什么,只是保持不变。

我的代码:

// highlight the current menu item
jQuery(\'ul.menu li\').each(function() {
    jQuery(this).removeClass(\'current-menu-item\');
});
jQuery(thiss).parents(\'li\').addClass(\'current-menu-item\');
我也试过这个

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\');
导航栏应该像在库存WP安装中一样进行设置,因为我使用的是默认主题

<nav id="primary-navigation" class="site-navigation primary-navigation" role="navigation">
CSS文件包含以下内容

.site-navigation li .current_page_item > a,
.site-navigation li .current_page_ancestor > a,
.site-navigation li .current-menu-item > a,
.site-navigation li .current-menu-ancestor > a 
因此JS似乎使用了正确的调用。

有没有其他方法可以让这一切顺利进行?我有另一个JS脚本,它可以在按钮可查看(移动)且执行正确时切换导航栏。

编辑:根据这个问题中的建议,我也尝试了这个代码

jQuery(\'ul.menu li\').each(function() {
jQuery(this).removeClass(\'current-menu-item\');
    jQuery(this).removeClass(\'current_page_item\');
    jQuery(this).removeClass(\'current_page_ancestor\')
    jQuery(this).removeClass(\'current_menu_ancestor\')

});
jQuery(this).parents(\'li\').addClass(\'current_page_item\');
jQuery(this).parents(\'li\').addClass(\'current-menu-item\');

1 个回复
SO网友:Tom J Nowell

您正在删除当前菜单项和当前菜单页,但是您的CSS引用了以下内容:

.site-navigation li .current_page_item > a,
.site-navigation li .current_page_ancestor > a,
.site-navigation li .current-menu-item > a,
.site-navigation li .current-menu-ancestor > a 
.current_page_ancestor.current-menu-ancestor 不是由javascript处理的,但它们是样式化的,因此这就是问题所在。您需要处理这些问题才能使其正常工作。

但是,如何做到这一点,是一个javascript/jquery问题,而不是WordPress问题

此外:

jQuery(thiss).parents(\'li\').addClass(\'current-menu-item\');
你是说thissthis?

相关推荐

WordPress AJAX错误400向远程站点发送数据的错误请求

我正在使用发件人。net获取电子邮件订阅列表。这个网站给了我一些信息,可以将用户的电子邮件添加到订阅列表中。我想使用WordPress ajax来实现这一点。但它返回错误400错误请求。我的代码是:文件ajax新闻脚本。js公司: jQuery(document).ready(function($){ // Perform AJAX send news on form submit $(\'form#fnews\').on(\'submit\', funct