Javascript 如何基于另一个div jQuery中的内容显示div

Javascript 如何基于另一个div jQuery中的内容显示div,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我在html中有多个div,例如: <div class="litter"> <div class="litter-1"> <div class="status">Available</div> <div class="available"><img /></div> </div> <div class="litter-2">

我在html中有多个div,例如:

<div class="litter"> 
    <div class="litter-1">
        <div class="status">Available</div> 
        <div class="available"><img /></div>
    </div>
    <div class="litter-2">
        <div class="status">Available</div> 
        <div class="available"><img /></div>
    </div>
</div>

有任何帮助吗?

您可以切换单个类,
状态可用
,并将其与组合以控制图像的显示

vs

示例

/*默认情况下,图像是隐藏的*/
.available>img{
显示:无;
}
/*作用中的相邻兄弟组合子*/
.状态可用+.可用>img{
显示:块;
}

可用
可用

您可以使用jQuery使用循环:

//将选择器更改为“.litter.status”
$('.litter.status')。每个(函数(){
//循环遍历每个.status元素
//获取合作伙伴img容器。可用
var imgContainer=$(this.parent().find('.available');
如果($(this).text()=“可用”)
{
imgContainer.hide();
}
其他的
{
imgContainer.show();
}
});

可用
其他身份

好的,所以哈尔多把我放在正确的轨道上,但为了让它与字符串一起。我不得不使用这个
if($(this).text()===(“可用”)
而不是
if($(this).text().indexOf('需要一个永久的家')>-1


代码的其余部分与Haldo的保持一致。

这几乎起作用。if语句没有起作用。但是如果我使用imgContainer.addClass('test')在var和if语句之间。添加了类。相同的测试在if语句中失败。你知道为什么吗?你可以从代码片段中看到它工作-第一个图像是隐藏的。我不确定“if语句没有工作”是什么意思。你为什么现在添加
imgContainer.addClass('test')
?这是您需求的一部分吗?添加
imgContainer.addClass('test'))
之前的
if
似乎不会影响我测试的结果。是的,代码片段有效。我之所以使用addClass只是为了测试。因为图像仍然显示所有内容,我想看看语法是否正确。如果我在if语句之前添加该类,则会添加该类,但在该类的内部不会添加d任意类。
imgContainer
元素。我已经测试了在
if
else
中添加
imgContainer.addClass('test')
,这会导致
(即类
测试已添加到imgContainer元素)。谢谢。我不确定这里发生了什么。
if($('.litter > .status').html()==="Available") {
    $(this).next('.available').hide();
    } else {
    $('.available').show();
}