javascript - 使用 jQuery 将颜色应用于 php for 循环中的 td 元素不起作用

标签 javascript jquery

我有一个 php for 循环,如果该特定元素的值小于 3,我试图将所有具有 c 类的 td 元素设为黄色。但由于某种原因它不起作用

<?php
foreach($results as $data){

  echo '<tbody>
      <tr class="dropDown">
      <td>1</td>
      <td>'.$data['Title'].'</td>
      <td class="c" >'.$data['criticality'].'</td>
      <td class="p">'.$data['Priority'].'</td>
      <td>'.$data['Description'].'</td>
      <td>'.$data['Date_Submitted'].'</td>
      <td>'.$data['no'].'</td>
  </tr>

  </tbody>';}

我正在使用 jQuery 来实现这一点。

我的 jQuery 代码:

if (parseInt($(".c").text()) <= 3)
{
    $(".c").css("background-color" , "yellow");
}

最佳答案

您需要循环:

$(".c").each(function() {
  $(this).toggleClass("yellow",+$(this).text() <= 3);
});

或者如果您只有 3 个值:

$(".c:contains(3), .c:contains(2), .c:contains(1)").addClass("yellow")

或者在服务器上

<td class="c'.($data['criticality']<=3?" yellow":"").' >'.$data['criticality'].'</td>

我建议你将 tbody 移到循环之外

$(".c").each(function() {
  $(this).toggleClass("yellow", +$(this).text() <= 3);
});
.yellow {
  background-color: yellow
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr class="dropDown">
      <td>1</td>
      <td>'.$data['Title'].'</td>
      <td class="c">4</td>
      <td class="p">'.$data['Priority'].'</td>
      <td>'.$data['Description'].'</td>
      <td>'.$data['Date_Submitted'].'</td>
      <td>'.$data['no'].'</td>
    </tr>
    <tr class="dropDown">
      <td>1</td>
      <td>'.$data['Title'].'</td>
      <td class="c">3</td>
      <td class="p">'.$data['Priority'].'</td>
      <td>'.$data['Description'].'</td>
      <td>'.$data['Date_Submitted'].'</td>
      <td>'.$data['no'].'</td>
    </tr>
    <tr class="dropDown">
      <td>1</td>
      <td>'.$data['Title'].'</td>
      <td class="c">5</td>
      <td class="p">'.$data['Priority'].'</td>
      <td>'.$data['Description'].'</td>
      <td>'.$data['Date_Submitted'].'</td>
      <td>'.$data['no'].'</td>
    </tr>

  </tbody>
</table>

:包含:

$(".c:contains(3), .c:contains(2), .c:contains(1)").addClass("yellow")
.yellow {
  background-color: yellow
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr class="dropDown">
      <td>1</td>
      <td>'.$data['Title'].'</td>
      <td class="c">2</td>
      <td class="p">'.$data['Priority'].'</td>
      <td>'.$data['Description'].'</td>
      <td>'.$data['Date_Submitted'].'</td>
      <td>'.$data['no'].'</td>
    </tr>
    <tr class="dropDown">
      <td>1</td>
      <td>'.$data['Title'].'</td>
      <td class="c">3</td>
      <td class="p">'.$data['Priority'].'</td>
      <td>'.$data['Description'].'</td>
      <td>'.$data['Date_Submitted'].'</td>
      <td>'.$data['no'].'</td>
    </tr>
    <tr class="dropDown">
      <td>1</td>
      <td>'.$data['Title'].'</td>
      <td class="c">5</td>
      <td class="p">'.$data['Priority'].'</td>
      <td>'.$data['Description'].'</td>
      <td>'.$data['Date_Submitted'].'</td>
      <td>'.$data['no'].'</td>
    </tr>

  </tbody>
</table>

关于javascript - 使用 jQuery 将颜色应用于 php for 循环中的 td 元素不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48652434/

相关文章:

javascript - 如何使用 Jquery/Javascript 将我的一个文件夹中的所有图像加载到我的网页中

javascript - Javascript/Typescript 中对象数组的数据集

javascript - jCrop (jQuery) 有时无法加载图像/裁剪区域

javascript - 使用jquery动态添加类

javascript - 平滑更改内联 block 容器高度

Javascript 嵌套数组并设置变量

javascript - 在 Twitter Bootstrap 模型中验证表单

javascript - 从 forEach 循环中的第二项开始

javascript - ng-hide 在 angularjs 问题中

jquery - Anythingslider 面板改变另一个对象