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 に答える