2013-04-09 48 views
1

我有一个旋转木马,我试图隐藏某些幻灯片的描述,如果没有内容动态输出。如果其中的标题标记为空,请隐藏div?

我的结构,内容是输出:

<div class="caption"> 
    <h3><a>title</a></h3> 
    <p><a>description</a></p> 
</div> 

我的结构而不:

<div class="caption"> 
    <h3><a></a></h3> 
    <p><a></a></p> 
</div> 

的Javascript:

if($.trim($('.caption h3 a').text()) != "") { 
$(".carousel-caption.h").addClass("visible"); 
} 

我从通过在这里类似的问题找得到的JavaScript。我尝试了各种各样的方法,但无济于事。我不太确定我缺少什么?

回答

5

你可以做到这一点隐藏有一个空的头都.caption

$('.caption').show().filter(function(){ 
    return $.trim($('h3', this).text())==='' 
}).hide(); 

这可能与您最初的解决方案更接近,只改变了上课的时候头上有一个内容:

$('.caption').each(function(){ 
    if ($.trim($('h3', this).text())!=='') $(this).addClass('visible'); 
}); 
+0

谢谢!像魅力一样工作! – popshuvit 2013-04-09 20:06:43

1

我不是一个jQuery的家伙。但在YUI也可以是简单地想:

if (Y.one(".caption h3 a").get("innerHTML") == "") { 
    alert("its empty"); 
} 

尝试使用的.text的html的,而不是在jQuery的

0

这个作品,

if($('.caption h3 a').text().trim() != "") { 
     $(".carousel-caption.h").addClass("visible"); 
} 

FIDDLE