使用递增的id迭代单元格

时间:2015-08-09 10:09:06

标签: javascript jquery html

我想使用Javascript / Jquery用值填充表。 我有一个递增id的表(td-1直到td-42),我想用JQuery / Javascript填充这个表。 目前我正在使用此脚本,但我知道错误$('#td-'+i)无法正常工作,因为使用的ID构建错误:$('#td-'12)不是有效的ID。 有人快速解决这个问题吗?我被卡住了......

for (var i = 1; i < 43; i++) {
    if (i < firstDay || i >= (howMany + firstDay)) {
        $('#td-'+i).value("");
    } else {
        $('#td-'+i).value(i-firstDay);
   }
}

2 个答案:

答案 0 :(得分:1)

使用text()并且有效。

&#13;
&#13;
var firstDay = 3, howMany = 1;

for (var i = 1; i < 7; i++) {
  if (i < firstDay || i >= (howMany + firstDay)) {
    $('#td-'+i).text("");
  } else {
    $('#td-'+i).text(i-firstDay);
 }
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td id='td-1'></td>
  </tr>
  <tr>
    <td id='td-2'></td>
  </tr>
  <tr>
    <td id='td-3'></td>
  </tr>
  <tr>
    <td id='td-4'></td>
  </tr>
  <tr>
    <td id='td-5'></td>
  </tr>
  <tr>
    <td id='td-6'></td>
  </tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

首先,出于效率原因重新考虑在元素上放置大量ID,但将其放在一边:

jQuery中有.each()的便捷回调,它接受递增的(当前)索引和对元素的引用。

根据DOM结构,你可以这样做:

$('td', '#mytable').each(function(ix, tdel){
   $(tdel).attr('id', 'td-' + ix).text(ix); // or $(this).attr...
});

......看看你需要去哪里。