我有一个表,我想在一些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").addClass("inActiveTr");
在函数内部,它将该类提供给页面中的所有tr
答案 0 :(得分:1)
为什么不在你的剃须刀服务器端这样做:
@for (int i = 0; i < Model.Items.Length; i++)
{
<tr@Html.Raw(!Model.Items[i].IsActive ? " class=\"inActiveTr\"" : string.Empty)>
<td> ... </td>
...
</tr>
}
如果出于某种原因你真的想使用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>
}
}