Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在Woocommerce页面中,脚本仅在控制台中执行时才能工作_Jquery_Wordpress_Woocommerce - Fatal编程技术网

Jquery 在Woocommerce页面中,脚本仅在控制台中执行时才能工作

Jquery 在Woocommerce页面中,脚本仅在控制台中执行时才能工作,jquery,wordpress,woocommerce,Jquery,Wordpress,Woocommerce,在Woocommerce页面中,我想隐藏某些产品,如果它们有徽章(类)。我不能简单地隐藏它们,因为如果我这样做,它们就不会在个人产品页面上显示为追加销售。因此,我尝试使用jQuery,如果我在控制台中键入: var liSet = $("body.term-flamboyants-lingerie li.animate"); if ( $("body.term-flamboyants-lingerie li.animate a").hasClass("setBadge") ){

在Woocommerce页面中,我想隐藏某些产品,如果它们有徽章(类)。我不能简单地隐藏它们,因为如果我这样做,它们就不会在个人产品页面上显示为追加销售。因此,我尝试使用jQuery,如果我在控制台中键入:

var liSet = $("body.term-flamboyants-lingerie li.animate");

     if ( $("body.term-flamboyants-lingerie li.animate a").hasClass("setBadge") ){
        liSet.css("display", "none");
     }
它可以工作,带有徽章的产品在此特定页面中被隐藏。问题是,如果我在script.js文件中写这个,它就不起作用了。我在“script.js”中有更多的代码,它们工作得很好,并且都包装在一个“jQuery(document).ready(function($){”中。我有点不明白为什么它不能工作


编辑setTimeOut函数可以工作,因此我的代码在页面中设置该类之前就已经运行。有更好的方法吗?

解决方案是找出Reigel指出的类“setBadge”设置的位置。然后我用以下方法修复了该问题:

$("a[href*='set']:first-child").addClass('setBadge');


    if ( $("body").hasClass("term-flamboyants-lingerie") ){
        $("a[href*='set']").parent().css("display", "none");
    }

我不得不隐藏家长,也隐藏价格和其他附加到“a”标记。

尝试在任何地方使用jQuery,但不将$传递给函数我已经尝试过了,它仍然不起作用。而且$1以上的几行行可以很好地工作,因为它是在包装器中定义的。尝试查看页面源代码,而不是检查元素,看看是否有带有类setBadge的元素。我猜这只是时间问题。当脚本运行时,请使用setBadge还没有。这是有道理的,但我不确定如何检查它或编写什么代码使其工作。设置超时函数可以工作,但它远不理想…找到设置类setBadge的函数。可能有回调或可以使用的东西。