Jquery 将css类添加到最近的tr标记

Jquery 将css类添加到最近的tr标记,jquery,html,razor,Jquery,Html,Razor,我有一个表,我想在其中向一些tr添加一个css类。我有这个密码 @for (int i = 0; i < Model.Items.Length; i++) { <tr> @if (!Model.Items[i].IsActive) { <script> $(function () { $(this).closest("tr").addClass("inActiveTr"); }); </scrip

我有一个表,我想在其中向一些
tr
添加一个css类。我有这个密码

@for (int i = 0; i < Model.Items.Length; i++)
{
  <tr>
   @if (!Model.Items[i].IsActive)
   {
    <script>
     $(function () {
      $(this).closest("tr").addClass("inActiveTr");
     });
    </script>
   }
<td> ... </td>
...
</tr>
}
在函数内部,它将该类赋予页面中的所有
tr


为什么不在razor服务器端这样做:

@for (int i = 0; i < Model.Items.Length; i++)
{
  <tr@Html.Raw(!Model.Items[i].IsActive ? " class=\"inActiveTr\"" : string.Empty)>
    <td> ... </td>
    ...
  </tr>
}
@for(int i=0;i
如果出于某种原因,您确实希望使用jQuery添加类,那么您需要某种类型的行标识符,以便将其作为目标:

@for (int i = 0; i < Model.Items.Length; i++)
{
    <tr id="row@(i)">
        <td> ... </td>
        ...
    </tr>

    @if (!Model.Items[i].IsActive)
    {
        <script>
            $(function () {
                $('#row@(i)').addClass("inActiveTr");
            });
        </script>
    }
}
@for(int i=0;i
@for (int i = 0; i < Model.Items.Length; i++)
{
    <tr id="row@(i)">
        <td> ... </td>
        ...
    </tr>

    @if (!Model.Items[i].IsActive)
    {
        <script>
            $(function () {
                $('#row@(i)').addClass("inActiveTr");
            });
        </script>
    }
}