我有多个div,我想隐藏第一个div,因为他的一个孩子是空的。我能怎么做? 这是html的结构:
<div class="pricetag">1
<div class="price">400</div>
<span>hello</span>
<span></span>
</div>
<div class="pricetag">2
<div class="price"></div>
</div>
<div class="pricetag">3
<div class="price">250</div>
</div>
我试着这样做:
$('.pricetag span:empty').parent.hide();
答案 0 :(得分:1)
您需要使用括号才能在parent
之后调用该函数
只是不是财产。在您当前的代码中,它可能会引发错误:Uncaught TypeError: Cannot read property 'hide' of undefined
,因为parent
属性为undefined
。
$('.pricetag span:empty').parent().hide();
// ----^^----
$('.pricetag span:empty').parent().hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pricetag">1
<div class="price">400</div>
<span>hello</span>
<span></span>
</div>
<div class="pricetag">2
<div class="price"></div>
</div>
<div class="pricetag">3
<div class="price">250</div>
</div>
:has()
mothod的jQuery has()
伪类选择器。
$('.pricetag:has(span:empty)').hide();
$('.pricetag:has(span:empty)').hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pricetag">1
<div class="price">400</div>
<span>hello</span>
<span></span>
</div>
<div class="pricetag">2
<div class="price"></div>
</div>
<div class="pricetag">3
<div class="price">250</div>
</div>