1

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

我的内容输出结构:

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

4

3 回答 3

5

您可以这样做以隐藏所有.caption具有空标题的内容:

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

这可能与您的初始解决方案更接近,仅在头部有内容时更改类:

$('.caption').each(function(){
    if ($.trim($('h3', this).text())!=='') $(this).addClass('visible');
});
于 2013-04-09T20:00:05.580 回答
1

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

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

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

于 2013-04-09T20:04:36.117 回答
0

这有效,

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

小提琴

于 2013-04-09T20:06:42.920 回答