1

如果 relatedProductsArea 不包含图像,则隐藏 div。

<div id="RelatedProductsArea" style="border-radius: 7px 7px 7px 7px;"><br clear="all"><div style="clear:both;"></div>
</div>

未找到图像意味着没有相关产品。

我试过的:

$('#RelatedProductsArea').has('img').css('border', 'none');

这是一个例子:http: //jsfiddle.net/K2Cp6/

问题:如何在我的 jsfiddle 示例中隐藏 div 或删除边框?

4

5 回答 5

3

尝试

$('#RelatedProductsArea:not(:has(img))').hide()

您需要使用:not()选择器来选择与给定选择器不匹配的元素。在这种情况下,#RelatedProductsArea没有img.

于 2012-06-19T15:13:55.037 回答
3
$('#RelatedProductsArea:not(:has(img))').css('border', 'none');

http://jsfiddle.net/Curt/K2Cp6/1/

尝试添加和删除<img />元素以#RelatedProductsArea进行测试。

如果 relatedProductsArea 不包含图像,则隐藏 div。

如果您希望隐藏 div,请使用.hide()而不是。.css('border', 'none')

于 2012-06-19T15:15:03.920 回答
2
if($('#RelatedProductsArea img').length)) {
  $('#RelatedProductsArea').hide();
}

演示

或者

$('#RelatedProductsArea').not(':has(img)').hide();

.not()将过滤div没有图像。

演示

或者

$('#RelatedProductsArea').has(':not(img)').css('display', 'none');

演示

根据编辑

隐藏使用.hide().css('display','none')删除边框使用.css('border', 'none')。如果你想要两个

.css({
   display: 'none',
   border: 'none'
})
于 2012-06-19T15:13:50.907 回答
1
if($('#RelatedProductsArea').find("img").length == 0)
   $('#RelatedProductsArea').css('border', 'none');
于 2012-06-19T15:15:36.397 回答
-3

解决方案很简单:

$('#RelatedProductsArea').not('img').css('border', 'none');
于 2012-06-19T15:13:14.403 回答