Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JQUERY编写循环_Jquery - Fatal编程技术网

使用JQUERY编写循环

使用JQUERY编写循环,jquery,Jquery,我想检查元素中是否没有HREF(即它是空的),如果是,则隐藏与它关联的标签。如果页面上有几个元素是空的,那么需要检查它们,因此我需要编写一个循环。请帮我写这个循环。以下是我目前的代码: if(jQuery('span.tags').is(':empty')) { jQuery('span.label').hide() }; 有人能帮我处理一下这个代码吗 这是我的HTML <div class="entry-meta">

我想检查元素中是否没有HREF(即它是空的),如果是,则隐藏与它关联的标签。如果页面上有几个元素是空的,那么需要检查它们,因此我需要编写一个循环。请帮我写这个循环。以下是我目前的代码:

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();