2014-10-02 71 views
3

如何更改每个元素,但保留最后一个元素的方式?通过除最后一个元素之外的所有元素循环

jQuery(".diaryevent .field-name-field-category .field-items .field-item a") 
.each(function(e) 
{ 
    var text = jQuery(this).text(); 
    jQuery(this).html(text + ','); 
}); 

我需要在哪里添加例如not(":last-child"):not(:last-child)

+0

'的jQuery( “diaryevent点域名称字段类别点域项点域项目一:没有(:最后一个孩子)”){.... }' – 2014-10-02 07:46:53

+0

其中是html – 2014-10-02 07:49:04

+0

http://jsfiddle.net/vuwzo4bo/在这里(我需要在除最后一个字段的每个字段上添加逗号) – josaric 2014-10-02 07:56:01

回答

6

无需循环使用每个。使用正确的选择器,您可以选择除最后一个之外的所有元素。

jQuery(".field-name-field-category > .field-items > .field-item:not(:last) > a") 
 
.text(function(_, text) { 
 
    return text + ','; 
 
});
/* Just to see the commas better :) */ 
 
a { text-decoration:none;color:#333; }
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<div class="field field-name-field-category field-type-taxonomy-term-reference field-label-hidden"> 
 
    <div class="field-items"> 
 
    <div class="field-item even"><a href="/category/business" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Business</a> 
 
    </div> 
 
    <div class="field-item odd"><a href="/category/code" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Code</a> 
 
    </div> 
 
    <div class="field-item even"><a href="/category/training" typeof="skos:Concept" property="rdfs:label skos:prefLabel" datatype="">Training</a> 
 
    </div> 
 
    </div> 
 
</div>

+0

是的,这是正确和优雅的方式 – 2014-10-02 08:09:55

+0

非常感谢! – josaric 2014-10-02 08:20:42

0

根据API,jQuery的每个函数的第一个参数是数组的索引..

你可以用数组的长度进行比较,以达到你想要什么

var arr = jQuery(".diaryevent .field-name-field-category .field-items .field-item a"); 

arr.each(function(e) 
{ 
    if(e === arr.length-1) { 
     return; 
    } 
    var text = jQuery(this).text(); 
    jQuery(this).html(text + ','); 
}); 

小提琴: jsfiddle.net/Lgwtcdzs/1

+0

不工作...您可以在这里尝试您的代码吗? jsfiddle.net/vuwzo4bo – josaric 2014-10-02 07:56:38

+0

不工作,因为jQuery没有在小提琴中定义,你的选择器最后还是错过了'''看看这里http://jsfiddle.net/Lgwtcdzs/1/(抱歉忘了保存改变小提琴第一次) – montexristos 2014-10-02 08:01:27

+0

你给我发了同样的东西... – josaric 2014-10-02 08:06:51

相关问题