Javascript jQuery只在具有另一个具有特定类的div的div中运行函数

Javascript jQuery只在具有另一个具有特定类的div的div中运行函数,javascript,jquery,Javascript,Jquery,有代码,例如: 产品1 可用产品 快速订购 产品2 可用产品 快速订购 产品3 缺货 快速订购 如果父div具有类为“not_available”的内部div,则需要隐藏“quick order”按钮 尝试了一些JavaScript: jQuery(文档).ready(函数(){ if(jQuery('div').hasClass('not_available')){ jQuery('.quckorder btn').css('display','none'); } }); 另一个J

有代码,例如:


产品1
可用产品
快速订购
产品2
可用产品
快速订购
产品3
缺货
快速订购
如果父div具有类为“not_available”的内部div,则需要隐藏“quick order”按钮

尝试了一些JavaScript:


jQuery(文档).ready(函数(){
if(jQuery('div').hasClass('not_available')){
jQuery('.quckorder btn').css('display','none');
}
});  
另一个JavaScript示例:


jQuery(文档).ready(函数(){
if(jQuery('.sblock4:contains(“缺货”))){
jQuery(“.quckorder btn”).addClass(“隐藏按钮”);
}
});  
但它要么根本不起作用,要么对类
.quckorder btn
的所有div都起作用。 只需要在另一个div类为“not_available”的div中运行函数


谢谢你的帮助。谢谢

要实现您的目标,您可以使用
:has()
方法。此外,您还需要从
:has()
返回的元素中使用
find()
,以便该类仅添加到其子元素,而不是所有
.quckordbtn
元素。试试这个:

jQuery($=>{
$('.sblock4:has(.not_available')).find('.quckorder btn').addClass(“隐藏按钮”);
});
.hide按钮{
显示:无;
}

产品1
可用产品
快速订购
产品2
可用产品
快速订购
产品3
缺货
快速订购

对于每个按钮,获取parent,检查它是否有
。不可用

document.querySelectorAll(“.quckorder btn”).forEach(btn=>{
btn.parentElement.querySelector('.not_available')?btn.style.display=“none”:btn
})

产品1
可用产品
快速订购
产品2
可用产品
快速订购
产品3
缺货
快速订购
jQuery(文档).ready(函数(){
jQuery('.not_available')。同级('.qckorder btn')。hide();
});

产品1
可用产品
快速订购
产品2
可用产品
快速订购
产品3
缺货
快速订购
$(.sblock4”)。每个(函数(索引){
var stock=$(this.find(“.quckorder btn”).prev();
if($(股票).hasClass(“不可用”)){
stock.next().hide();
}
});

产品1
可用产品
快速订购
产品2
可用产品
快速订购
产品3
缺货
快速订购