Jquery 如果子div不';不包含类

Jquery 如果子div不';不包含类,jquery,html,Jquery,Html,如果父类的子类“price”中存在信息,我想从页面中删除两个。摘要条目摘要 我首先尝试检查父类“woocommerce Price-amount”(Price),但由于它要求在每个页面上检查数据库,因此无法工作 我已尝试在div中检查$,因为只有在数据库中的信息已填充的情况下,才会在该div中填充,但它仍会删除该div不存在的页面上的div // Checks page for price on item div, // if price exists then the page will h

如果父类的子类“price”中存在信息,我想从页面中删除两个
。摘要条目摘要

我首先尝试检查父类“woocommerce Price-amount”(Price),但由于它要求在每个页面上检查数据库,因此无法工作

我已尝试在div中检查$,因为只有在数据库中的信息已填充的情况下,才会在该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.sumary条目摘要中存在“woocommerce Price amount”时,代码才应该删除两个div

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


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

因为生成了div,所以需要使用委托。以从数据库填充div的父容器为目标,然后在其上设置一个委托,检查其中的div是否为静态或生成的,是否具有所需的类,然后执行相应的操作#cheers

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

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

将hasClass测试放在if语句中,并在hide()之后将逗号设为分号。还没有仔细研究过这一点,但如果这样做,beginJavascript将添加一个隐含的
在这行的末尾(在你的
.hasClass()
之后),它认为应该有一个。使用on而不是delegateon实际上是一个delegateYeah你是对的,我不是说他应该使用。delegate()方法虽然在父对象上附加事件侦听器,然后在单击子对象时冒泡的整个过程称为委托,但您是对的。