我有一个元素列表:
<ul id="wpsl-stores">
<li>list</li>
<li>list</li>
<li class="skipthis">list</li>
<li>list</li>
<li>list</li>
<li>list</li>
<li class="skipthis">list</li>
<li>list</li>
</ul>
我循环遍历元素并附加该元素的编号:
var locCount = $('#wpsl-stores li').length;
for (i = 1; i < locCount+1; i++) {
$('#wpsl-stores ul li:nth-child('+i+') strong:before').hide();
$('body').append('<style>#wpsl-stores ul li:nth-child('+i+') strong:before {content:"'+i+'";}</style>');
}
我需要跳过包含&#34; skipthis&#34;类。
在实际网站上,使用&#34; skipthis&#34;班级被隐藏但仍然在dom中。这意味着上面的循环仍在计算它们。
现在,输出是这样的:
1 list
2 list
4 list
5 list
6 list
etc.
etc.
我需要它
1 list
2 list
3 list
4 list
答案 0 :(得分:0)
怎么样:
env.BN = VersionNumber([
versionNumberString :'${BUILD_MONTH}.${BUILDS_TODAY}.${BUILD_NUMBER}',
projectStartDate : '2017-02-09',
versionPrefix : 'v1.'
])
答案 1 :(得分:0)
答案 2 :(得分:0)
您应该选择所有不跳过的元素并循环以添加:
$('#wpsl-stores li:not(.skipthis)').each(function(i,li) {
$('body').append('<style>#wpsl-stores ul li:nth-child('+(i+1)+') strong:before {content:"'+(i+1)+'";}</style>');
});
编辑: 如果你想要删除那些,那么为其他人添加一个计数器:
var listCount = 0;
$('#wpsl-stores li').each(function(i,li) {
if ($(this).hasClass('skipthis')) {
$(this).remove();
} else {
listCount++;
$('body').append('<style>#wpsl-stores ul li:nth-child('+listCount+') strong:before {content:"'+listCount+'";}</style>');
}
});
答案 3 :(得分:0)
您可以使用.each()
进行迭代,.hasClass()
可以跳过一些li元素:
$("#wpsl-stores li").each(function (index, element) {
if (!$(element).hasClass('skipthis')) {
// do something
}
});