我在Joomla中使用一个模块来获取新闻并动态获取文章。 有一段时间,文章不是很多,它显示空字段,因为它设置为抓住7篇文章。
显示文章时,它包含以下代码:
<div class="ns2-row">
<div class="ns2-row-inner">
<div class="ns2-column flt-left col-1">
CONTENT
</div>
<div style="clear:both"></div>
</div>
<div style="clear:both"></div>
</div>
如果没有文章,这就是代码:
<div class="ns2-row">
<div class="ns2-row-inner">
<div style="clear:both"></div>
</div>
<div style="clear:both"></div>
</div>
我在想的是: 如果div.ns2-row-inner中缺少div.ns2-column则隐藏div.ns2-row
知道怎么做吗?
答案 0 :(得分:2)
试试这个:您可以使用.filter()
并检查元素是否有ns2-column
以返回TRUE或FALSE。如果为TRUE,请使用closest('div.ns2-row')
查找父div
,然后将其隐藏。
$('div.ns2-row-inner').filter(function(){
return $(this).find('div.ns2-column').length==0;
}).closest('div.ns2-row').hide();
<强> DEMO 强>
答案 1 :(得分:0)
$('.ns2-row').each(function()
{
$(this).toggle($(this).find('.ns2-row-inner').has('.ns2-column'));
});
说明:既然你说了“7篇文章”,我就用each
来迭代(我假设有多行)。在每个内部,它将根据this
子元素是否包含.ns2-row
元素来切换.ns2-row-inner
(.ns2-column
)的可见性。
进一步阅读我使用的内容:
答案 2 :(得分:0)
$('.ns2-row').each(function(){
if($(this).find('.ns2-row-inner .ns2-column').length === 0){
$(this).hide();
}
});
<强>参考:强>
答案 3 :(得分:0)
那个脚本应该是这样的,我想
$('.ns2-row').each(function()
{
$(this).toggle($(this).find('ns2-row-inner .ns2-column').length > 0);
});
答案 4 :(得分:0)
在Shadow的帮助下,我找到了解决方案。我的问题是我有一个jQuery库,我遇到了一些问题。所以,我这样做了:
<script type='text/javascript' src='http://code.jquery.com/jquery-1.8.3.js'></script>
<script type="text/javascript">
var jQuery_1_8_3 = $.noConflict(true);
</script>
<script type="text/javascript">
jQuery_1_8_3('div.ns2-row-inner').filter(function(){
return jQuery_1_8_3(this).find('div.ns2-column').length==0;
}).closest('div.ns2-row').hide();
</script>