Javascript Jquery脚本无法在更改时更改CSS

Javascript Jquery脚本无法在更改时更改CSS,javascript,jquery,css,wordpress,woocommerce,Javascript,Jquery,Css,Wordpress,Woocommerce,我已经添加了一些自定义元素,包括在我的WooCommerce帐户页面中,以便在订单历史记录中查看。不幸的是,页面设置为只显示与活动选项卡相关的信息 我不太熟悉jquery,但我认为在订单历史显示为none时,使用jquery隐藏我添加的div会非常简单 我在主题的main.js文件中添加了以下脚本: $(document).ready(function(){ var display = $('.my_account_orders'); if(display.css("displ

我已经添加了一些自定义元素,包括在我的WooCommerce帐户页面中,以便在订单历史记录中查看。不幸的是,页面设置为只显示与活动选项卡相关的信息

我不太熟悉jquery,但我认为在订单历史显示为none时,使用jquery隐藏我添加的div会非常简单

我在主题的main.js文件中添加了以下脚本:

$(document).ready(function(){ 
    var display = $('.my_account_orders');
    if(display.css("display") == "none") {
        $('.paging-nav').css("display","none");
    }
});
当class.my_account_orders显示为none时,应将我添加的div(.paging nav)更改为显示为none。但它就是不起作用

这个脚本有什么问题吗?或者我需要做一些特殊的事情来启动它吗?因为它在我的主题的main.js文件中,并且我使用了
$(document).ready(function()
),所以我想它会随页面一起加载

如果您对此有任何帮助,我们将不胜感激。

请不要使用:

var display = $('.my_account_orders');
将其实现到if语句中,如下所示:

if($('.my_account_orders').css("display") == "none") {

因为最初它试图找到一个名为$display的变量,所以它将返回一个语法错误undefined。

您的if语句中有一个错误的$。这应该可以改为:

$(document).ready(function(){ 
    var display = $('.my_account_orders');
    if(display.css("display") == "none") {
        $('.paging-nav').css("display","none");
    }
});
还请记住,您的
var显示
只会匹配具有
my_account\u orders
类的第一个元素,因此如果该类中有多个元素,并且它们的显示不都相同,您可能会得到意外的结果。

尝试以下方法:

$(document).ready(function(){ 
var display = $('.my_account_orders');
if(display.css("display") == "none") {
        $('.paging-nav').css("display","none");
    }
});

我认为检查
css
属性(如display)以确定元素是否
隐藏是一种非常蹩脚的方法。使用jquery,您可以使用选择器确定元素是否
隐藏,并返回
bool

$(document).ready(function(){ 
    if($('.my_account_orders').eq(0).is(":hidden")) // eq(0) is optional - it basically targets the 1st occurring element with class 'my_account_orders'
    {
        $('.paging-nav').css("display","none");
    }
});

示例:

如果if语句中有一个错误的$,请尝试
if(display.css(“display”)=“none”){
您没有var
$display
您刚才所做的编辑是否给出了有关该问题的提示?将
display
$display
进行比较。我刚刚通读并尝试了所有给出的解决方案和建议,但不幸的是,它仍然不起作用。我已更新了上面的脚本,以反映我上次尝试的内容。谢谢r目前为止的所有帮助。我尝试过使用它,但它不起作用。我同时签入了firefox和chrome。该类。我的帐户订单在此页面上只使用了一次。@nickyb您可以在JSFIDLE中共享您正在使用的呈现标记吗?它将帮助我们重现问题并找到解决方案。谢谢,但这也不起作用。嗯aps有什么东西阻止了状态的更改?我会继续四处寻找更长的时间,但它可能同样容易隐藏,并通过选项卡的单击事件使元素再次可见。我猜此时,您可能还需要发布html以了解确切的问题。