如果子div不包含类,则jQuery会隐藏div

时间:2019-02-14 17:24:36

标签: jquery html

如果父类“ .summary entry-summary”的子类“ price”中存在信息,我想从页面中删除两个<div>

我首先尝试检查“ woocommerce-价格-金额”(价格)的父类,但是由于需要在每个页面上检查不起作用的数据库。

我已经尝试在div中检查$,因为只有在数据库中的信息已填充的情况下,它才会填充到该div中,但是它仍会删除不存在的页面上的div。

// Checks page for price on item div, 
// if price exists then the page will hide the "For price call (phone number)"
// second .hide will hide "Contact company for pricing information"

jQuery( document ).ready(function($) {
$(".summary entry-summary").hasClass("woocommerce-Price-amount amount")
    $(".well").hide(),
    $(".woocommerce-product-details__short-description").hide();
});

仅当父div汇总条目摘要中存在“ woocommerce-Price-amount量”时,该代码才应删除两个div。

即使子类不存在,代码也会删除两个div。

编辑:我已经更新了代码,以包含一个if语句,并且还添加了我的结束语;该代码仍然存在相同的问题。

2 个答案:

答案 0 :(得分:1)

您似乎正在检查一个类,然后根据该检查隐藏其他元素。您在提供的代码中缺少if

jQuery(document).ready(function($) {
    if ($(".summary entry-summary").hasClass("woocommerce-Price-amount amount")) {
        $(".well").hide();
        $(".woocommerce-product-details__short-description").hide();
    }
});

答案 1 :(得分:0)

由于生成了div,因此需要使用委托。定位到要从数据库中填充div的父容器,然后在其上设置一个委托,并检查其中的div静态或生成的div是否具有必需的类,然后执行相应的操作#cheers