如果其中的标题标记为空,请隐藏div?

时间:2013-04-09 19:58:12

标签: javascript jquery css

如果没有动态输出内容,我有一个旋转木马,我试图隐藏某些幻灯片的描述。

我的结构包含输出内容:

<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。我尝试了各种方法,但无济于事。我不太确定我错过了什么?

3 个答案:

答案 0 :(得分:5)

您可以执行此操作以隐藏具有空标题的所有.caption

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

这可能离你的初始解决方案更近了,当头部有内容时只改变班级:

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

答案 1 :(得分:1)

我不是一个jQuery人。但在YUI中它可以简单地说:

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

尝试在jquery中使用.html而不是.text

答案 2 :(得分:0)

这有效,

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

FIDDLE