使用JQUERY编写循环
我想检查元素中是否没有HREF(即它是空的),如果是,则隐藏与它关联的标签。如果页面上有几个元素是空的,那么需要检查它们,因此我需要编写一个循环。请帮我写这个循环。以下是我目前的代码:使用JQUERY编写循环,jquery,Jquery,我想检查元素中是否没有HREF(即它是空的),如果是,则隐藏与它关联的标签。如果页面上有几个元素是空的,那么需要检查它们,因此我需要编写一个循环。请帮我写这个循环。以下是我目前的代码: if(jQuery('span.tags').is(':empty')) { jQuery('span.label').hide() }; 有人能帮我处理一下这个代码吗 这是我的HTML <div class="entry-meta">
if(jQuery('span.tags').is(':empty')) {
jQuery('span.label').hide()
};
有人能帮我处理一下这个代码吗
这是我的HTML
<div class="entry-meta">
<span class="label">Tagged:</span>
<span class="tags">
<a href="#" rel="tag">Career change</a>,
<a href="#" rel="tag">career change e course</a>,
<a href="#" rel="tag">career help</a>
</span>
</div><!-- END .entry-meta -->
您可以使用
每个
循环遍历DOM元素,并隐藏每个元素
$('span.tags:empty').each(function(i, value) {
$('span.label').hide();
});
基于HTML,即使不抛出显式循环,您也应该能够实现这一点
// something like
$('span.tags').not(':has(a[href])')
.prev('span.label')
.hide()
;
非常简单:
$('a').each(function(){
if ($(this).attr('href') == ''){
$(this).hide();
}
});
使用您的示例进行编码-您不需要循环。基于假设如果没有标记,您的
标记范围将为空,这将实现:
$('span.tags:empty').prev('span.label').hide();
能否向我们展示一些您将在其上使用此代码的html。对于循环,请检查可能的重复项。jqueryc中的每个方法也可以给出一个空标记的示例?从您的问题中不清楚空标记是否完全没有href
属性,或者只是一个空的href
。您好,Town,您删除了您的答案吗?您的解决方案非常有效,谢谢!顺便说一句,空标签根本没有HREF。谢谢,Josh,我试过了,但是它删除了span.label,即使它们不是空的。@夫人:因为$('span.label')
选择了每个span.label
元素。请参阅@richardnielilagan的答案。这不起作用,因为您正在选择函数内DOM中的每个span.label
。您必须找到某种方法来限制您选择的与相应的span.标记相关的span.标签
。。。。除了隐藏
元素,而不是相应的span.标签。。。让我再看一下。谢谢Richard,但这不起作用。即使元素为空,我仍然可以看到taged:标签。您是否记得将jQuery代码放在$(文档)中。ready()
处理程序?简单、整洁、快速。
$('span.tags:empty').prev('span.label').hide();