如果孩子div没有内容,我一直在寻找隐藏父div的不同方法,我已经让它在一些小提琴中工作,但似乎在我的实际网站上没有任何效果。
我正在编辑Wordpress插件CPT Bootstrap轮播,我添加了一个用于显示推荐的新自定义字段,但目前只有一个来自客户端的推荐,所以因此想要在div为emtpy时隐藏按钮。
以下是该页面的链接:http://rookdesigns.co.uk/portfolio/
这是我的html和jQuery:
<div class="test btn btn-primary">Testimonials>>
<div class="carousel-quotes">
<?php echo $image[ 'reff']; ?>
</div>
</div>
jQuery(".carousel-quotes:empty").parent().hide();
我也在使用这段jQuery来淡出和关闭子div
jQuery(".test").click(function(){
jQuery('.carousel-quotes').fadeToggle();
不确定这是否会影响事情。
非常感谢任何帮助,
提前致谢
一切顺利
哈利
答案 0 :(得分:1)
:empty
无效,因为有文本节点。
您可以更改PHP,以便在div
为空时在其中没有空格,或者您可以使用filter
:
jQuery(".carousel-quotes").filter(function() {
return !$.trim($(this).text());
}).parent().hide();
或者实际上,对于您的特定用例,我们可以避免在过滤函数中调用$()
和text()
:
jQuery(".carousel-quotes").filter(function() {
return !$.trim(this.innerHTML);
}).parent().hide();
答案 1 :(得分:0)
如果JavaScript是您可以接受的解决方案,则此代码段应该有效:
工作 DEMO
<强> JS 强>
var ln = $.trim($('.carousel-quotes').text()); /* trim is important here to remove any white space inside the div */
if (ln.length === 0)
{
$('.test').hide();
}
修改强>
页面中存在JS错误,可能导致问题:
'fadeSpeed' : 2000,
'targetHeight' : 100%
'effect' : 'effect-6'
'direction' : 'vertical'
上述值中缺少 ,
'fadeSpeed' : 2000,
'targetHeight' : 100%,
'effect' : 'effect-6',
'direction' : 'vertical'
在纠正后检查它是否有效!