2017-04-21 39 views
0

在Woocommerce页面中,如果他们有徽章(类),我想隐藏某些产品。我不能简单地隐藏它们,因为如果我这样做,它们将不会在个别产品页面中显示为向上销售。所以,我试图用jQuery,如果我在控制台输入:在Woocommerce页面中,只有在控制台中执行脚本时才能使用脚本

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函数的作品,所以我的代码在运行之前类是在页面设置,有没有更好的办法?

+0

尝试使用jQuery无处不传$功能 –

+0

我试过了,它仍然不起作用。在$上面的几行工作正常,因为它在包装中定义。 – Sergi

+1

尝试查看页面源代码,而不是检查元素,并查看是否有类setBadge的元素。我猜这只是时间问题。当你的脚本运行时,setBadge还没有。 – Reigel

回答

0

解决的办法是找出类“setBadge” 。设定为通过Reigel指出然后,我固定的问题有:

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


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

我不得不隐藏父也隐藏价格和其他附加到t他“一个”标签。

相关问题