在表的每一行中选择第四个td并转换数据

时间:2018-08-28 07:49:47

标签: javascript jquery dom

因此,我得到了一个函数,该函数应该占据特定表的每一行的第四列,使用该函数操纵数据并为单元格返回不同的数据。它花费了总分钟数的整数,并返回要放置在单元格中的字符串。我已经使用了该函数,但仅在第一行中找到的第一个函数中使用。 jQuery对我来说还是个新手,我并不完全了解如何通过JS使用DOM。这是我目前拥有的功能。感谢您的帮助!

$('#customlists tbody tr td').eq(3).each(function() {
console.log($(this).html());
return $(this).html(convertTime($(this).html()));
});

function convertTime(minutes) {
console.log(minutes);
var days = Math.floor((minutes/60) / 24);
minutes -= days*60*24;
var hours = Math.floor(minutes / 60);
minutes -= hours*60;
return days+"D "+hours+"H "+minutes+"M ";
}

1 个答案:

答案 0 :(得分:1)

.eq(3)将仅选择整个jQuery集合中的第四项,仅产生一个元素。尝试在选择器字符串中使用nth-child

$('#customlists tbody tr td:nth-child(4)').each(function() {

$('#customlists tbody tr td:nth-child(4)').each(function() {
  $(this).text('FOUR');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="customlists">
  <tbody>
    <tr>
      <td>one</td>
      <td>two</td>
      <td>three</td>
      <td>four</td>
      <td>five</td>
    </tr>
    <tr>
      <td>one</td>
      <td>two</td>
      <td>three</td>
      <td>four</td>
      <td>five</td>
    </tr>
  </tbody>
</table>