Jquery 在Woocommerce页面中,脚本仅在控制台中执行时才能工作
在Woocommerce页面中,我想隐藏某些产品,如果它们有徽章(类)。我不能简单地隐藏它们,因为如果我这样做,它们就不会在个人产品页面上显示为追加销售。因此,我尝试使用jQuery,如果我在控制台中键入: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") ){
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的函数。可能有回调或可以使用的东西。