我的网站上有优惠券旋转,我想实现以下功能:
对于每个优惠券,如果brandName包含文本'test',则隐藏包含它的div,这意味着我想要隐藏所有在其品牌名称处'test'的优惠券。
因此,假设每个优惠券div如下:
<div class="coupon-box">
<div class="brandName">Test1</div>
<div class="coupon-image"><img src="coupon-image.jpg"></div>
</div>
我想隐藏每个在他的头衔上'测试'的优惠券。我实际上设法做了第一部分(获得带有文本的brandNames)但我不知道如何隐藏其优惠券盒。
我到目前为止所做的是以下内容:
$( document ).ready(function() {
$('.brandName').each(function(){
var el= $(this);
var text = el.html();
if (text.indexOf("test") !==-1){
//missing-code
}
});
});
有什么建议吗?我尝试添加$('.coupon-box').css('display', 'none');
,但它只是隐藏了所有优惠券
答案 0 :(得分:1)
它不起作用,因为您选择的是所有元素,而不是您当前所在的元素。因此您需要查找该项目的父元素。
所以选择元素的父元素
el.parent().hide();
或寻找与班级
最近的祖先el.closest(".coupon-box").hide();
答案 1 :(得分:0)
$( document ).ready(function() {
$('.brandName').each(function(){
var el= $(this);
var text = el.html();
if (text.indexOf("test") !==-1){
el.parent().css('display', 'none');
}
});
});
小心,因为'测试'!='测试'