スライダーには、スライダー内の一部の画像にオプションの写真クレジットを含むスライダーがありますポッパー。すべてのポッパーインスタンスを繰り返し処理したいと思います。.photo-credit pクラスのpタグがすべて空の場合、その親ポッパーのインスタンスだけを非表示にします。私は、いくつかの他の投稿からソリューションをまとめようとしましたが、動作させることができませんでした。私が持っているコードは、すべてのpタグがそのpopperのために空であればpopperを隠さない。私はJavaScript初心者であり、助けていただければ幸いです。子divクラスにコンテンツがない場合は、同じクラス名の親divが複数ある場合は非表示にします
HTML
<div class="slider-wrapper">
<!--Required Root Element-->
<div class="slider">
<!--Required List Element-->
<div class="slider-list">
<div class="slider-item">
<div class="slider-image-container"><img class="slider-image" src="http://www.someurl.com/Images/Homepage Images/Slider/image1.jpg" /></div>
<div class="slider-content-container">
<h1>B LIne: The Place to Be</h1>
<div class="learn-more"><a href="http://www.someurl.com">Learn More</a></div>
</div>
<div class="popper">
<img data-toggle="popover" class="photo-credit-icon" src="http://www.someurl.com/icon-photography.svg" alt="photo credit" />
</div>
<div class="photo-credit hide">
<p><p><a href="http://www.someurl.com">A photo credit</a>.</p></p>
<p></p>
</div>
</div><div class="slider-item">
<div class="slider-image-container"><img class="slider-image" src="http://www.someurl.com/Images/Homepage Images/Slider/anotherimage.jpg" /></div>
<div class="slider-content-container">
<h1>July 4th: You missed it!</h1>
<div class="learn-more"><a href="http://www.someurl.com">Learn More</a></div>
</div>
<div class="popper">
<img data-toggle="popover" class="photo-credit-icon" src="http://www.someurl.com/icon-photography.svg" alt="photo credit" />
</div>
<div class="photo-credit hide">
<p></p>
<p></p>
</div>
</div><div class="slider-item">
<div class="slider-image-container"><img class="slider-image" src="http://www.someurl.com/Images/Homepage Images/Slider/anotherimage.jpg" /></div>
<div class="slider-content-container">
<h1>Festival coming Aug. 31st!</h1>
<div class="learn-more"><a href="http://www.someurl.com">Learn More</a></div>
</div>
<div class="popper">
<img data-toggle="popover" class="photo-credit-icon" src="http://www.someurl.com/icon-photography.svg" alt="photo credit" />
</div>
<div class="photo-credit hide">
<p></p>
<p></p>
</div>
</div>
</div>
</div>
<a href="#" class="slider-control-prev"><img src="http://www.someurl.com/images/icons/icon-chevron-left-slider.svg"></a>
<a href="#" class="slider-control-next"><img src="http://www.someurl.com/images/icons/icon-chevron-right-slider.svg"></a>
<p class="slider-pagination"></p>
</div>
はJavaScript
$('.popper').each(function() {
//var $thisPopper = $(this);
var hasContent = 0;
$('.photo-credit p').each(function() {
if($(this).html().length > 0) {
hasContent++;
}
});
if(hasContent > 0){
//$thisPopper.hide();
$(this).hide();
}
});
完全に作業しました。ありがとうございました! – lorigar