如何更改每个元素,但保留最后一个元素?
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 :(得分: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>
答案 1 :(得分: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