javascript - 仅为可见元素插入编号

标签 javascript jquery html css

我有五个 div,其中一些带有 display:block,另一些带有 display:none,它会动态变化。 我正在尝试为可见元素添加带编号的标题。 例如,如果我有两个可见元素,第一个元素应该是“降神会 1”,第二个元素应该是“降神会 2”,但实际上两者都是“降神会 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));
    }
  });
});
<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>

最佳答案

不要添加for循环。 jquery each 就够了

$('#save').click(function() {
    $('.panel-title').filter(':visible').each( function (i) {
      $(this).text('seance'+(i+1));
    });
  });

fiddle -- https://jsfiddle.net/fkbqdepo/

关于javascript - 仅为可见元素插入编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36749518/

相关文章:

php - 将标签文本与数组复选框值一起发布

javascript - clearTimeout 和 clearInterval 不适用于移动设备

javascript - 如何从哈希数据中删除 # 符号?查询?

javascript - # jquery 移动页面 url 中的字符

javascript - 根据对它的变量引用从 DOM 中删除一个元素?

javascript - 如何根据值数组检查当前窗口位置

javascript - 如何使用javascript中的replace函数动态替换图片src?

javascript - 带有所有图标的 iron-iconset svg 文件 Polymer 2.0

javascript - 更改 URL 时无需刷新页面即可加载内容

javascript - 保持滚动到底部