Но чтобы проверить, если <td>внутренний текст меньше 5 и применил класс в нем - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь добавить класс только для tds, которые имеют текстовое значение меньше 5. Проблема в том, что класс применяется ко всем tds.

var table = $("table tbody");
table.find('tr').each(function (i, el) {
  var $tds = $(this).find('td'),
      lessNumber = $tds.eq(0).text();
  newNumber = $tds.eq(0).text() > 5;
  if(lessNumber < 5){
    $tds.addClass("danger-color")
  }

});

1 Ответ

0 голосов
/ 04 мая 2020

Было бы полезно иметь HTML

Это установит класс первой ячейки в каждой строке, если ячейка содержит значение цифра c меньше 5.

Обратите внимание на +, который приводит к номеру

$("table tbody tr td:first-child").each(function() {
  $(this).toggleClass("danger-color",+$(this).text()<5)
});
.danger-color { color:red }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr>
      <td>1</td>
      <td>6</td>
    </tr>
    <tr>
      <td>2</td>
      <td>1</td>
    </tr>
    <tr>
      <td>6</td>
      <td>6</td>
    </tr>
    <tr>
      <td>4</td>
      <td>1</td>
    </tr>
  
  </tbody>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...