如何使用javascript给特定的td一个类名?

时间:2019-01-31 18:12:14

标签: javascript php jquery class

在php的foreach循环中,创建带有td的行列表。 在这些行的1中,文件夹的名称为tmp。是否可以给td一个类hidden以便该文件夹不可见?

这是foreach生成我的html的方式:

<tr>
  <td>
     <a href="#">tmp</a>
  </td>
  <td>
     Jan 31 '19
  </td>
  <td>
     1.2 Kb
  </td>
  <td>
     .png
  </td>
  ///

因此:td的名称为tmp的锚应获得类名称:hidden,如下所示:

<tr>
  <td class="hidden">
     <a href="#">tmp</a>
  </td>
  <td>
     Jan 31 '19
  </td>
  <td>
     1.2 Kb
  </td>
  <td>
    .png
  </td>
  ///

2 个答案:

答案 0 :(得分:2)

为什么不只给它服务器上的类呢?

如果不是

//$("td:has('a')").addClass("hidden");
// OR 
$("td:has('a:contains(tmp)')").hide()
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>

<tr>
  <td>
     <a href="#">tmp</a>
  </td>
  <td>
     Jan 31 '19
  </td>
  <td>
     1.2 Kb
  </td>
  <td>
     .png
  </td>
</tr>
</table>

答案 1 :(得分:1)

我想知道为什么您不按照@mplungjan的建议在服务器端执行此操作,但是如果要在客户端而不是服务器端执行此操作;

$(function() {
  $("#folders a:contains('tmp')").parents("td").addClass("hidden");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<table id="folders">
  <tr>
    <td>
       <a href="#">tmp</a>
    </td>
    <td>
       Jan 31 '19
    </td>
    <td>
       1.2 Kb
    </td>
    <td>
      .png
    </td>
  </tr>
</table>