Выбор четвертого тд в каждой строке таблицы и преобразование данных - PullRequest
0 голосов
/ 28 августа 2018

Итак, у меня есть функция, которая должна брать четвертый столбец в каждой строке конкретной таблицы, манипулировать данными с помощью функции и возвращать разные данные для ячейки. Он занимает целое число от общего количества минут и возвращает строку для помещения в ячейку. У меня есть работающая функция, но только в первом, который она находит в первом ряду. JQuery все еще немного нов для меня, и я не совсем понимаю, как работать с DOM через JS. Вот функция, которую я имею в настоящее время. Я ценю любую помощь!

$('#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 голосов
/ 28 августа 2018

.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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...