我有五个div
其中一些display:block
和其他display:none
,它会动态变化。
我试图为可见元素添加带有编号的标题。
例如,如果我有两个可见元素,我应该有" seance 1"对于第一个和#34; seance 2"对于第二个,但实际上我有" seance 2"对彼此而言。这是我的代码:
$('#save').click(function() {
var countVisible = $('.panel-title:visible').length;
$('.panel-title').filter(':visible').each( function () {
for (i=0; i<countVisible; i++){
$(this).text('seance'+(i+1));
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="panel" style="display:none;" id="seance1">
<h4 class="panel-title"></h4>
</div>
<div class="panel" style="display:block;" id="seance2">
<h4 class="panel-title">text text</h4>
</div>
<div class="panel" style="display:none;" id="seance3">
<h4 class="panel-title"></h4>
</div>
<div class="panel" style="display:none;" id="seance4">
<h4 class="panel-title"></h4>
</div>
<div class="panel" style="display:block;" id="seance5">
<h4 class="panel-title">text text</h4>
</div>
<button id="save">save</button>
&#13;
答案 0 :(得分:5)
不要添加for循环。 jquery每个都足够了
$('#save').click(function() {
$('.panel-title').filter(':visible').each( function (i) {
$(this).text('seance'+(i+1));
});
});
答案 1 :(得分:0)
如果我正确理解你的问题,那应该是这样的
$('#save').click(function() {
$('.panel-title:visible').each(function(index) {
$(this).text('seance'+(index+1));
});
});
答案 2 :(得分:0)
$('#save').click(function() {
$('.panel-title:visible').each( function (i) {
$(this).text('seance '+(i+1) );
});
});