Javascript 在视图中显示的结果表中,以不同的颜色为所有偶数项着色

Javascript 在视图中显示的结果表中,以不同的颜色为所有偶数项着色,javascript,css,asp.net-mvc,Javascript,Css,Asp.net Mvc,我正在构建一个MVC应用程序,其中项目显示在表中 以下是视图中包含的表的示例: <table id="itemsID"> <tr> <th>Obj Name</th> <th>Number</th> <th>Amount</th> <th>Size</th> <th>Prize&

我正在构建一个MVC应用程序,其中项目显示在表中

以下是视图中包含的表的示例:

<table id="itemsID">
    <tr>
        <th>Obj Name</th>
        <th>Number</th>
        <th>Amount</th>
        <th>Size</th>
        <th>Prize</th>
    </tr>
    @for (int i = 0; i < Model.Count; i++)
    {
        <tr>
            <td>
                @Html.DisplayFor(model => model[i].m_ObjName)
            </td>
            <td>
                @Html.DisplayFor(model => model[i].m_Number)
            </td>
            <td>
                @Html.DisplayFor(model => model[i].m_Amount)
            </td>
            <td>
                @Html.DisplayFor(model => model[i].m_Size)
            </td>
            <td>
                @Html.DisplayFor(model => model[i].m_Prize)
            </td>
            <td>
                @Html.ActionLink("Edit", "Edit", new { id = Model[i].m_ObjID}) |
                @Html.ActionLink("Details", "Details", new { id = Model[i].m_ObjID}) |
                @Html.ActionLink("Delete", "Delete", new { id = Model[i].m_ObjID })
            </td>
        </tr>
    }
</table>
很简单,但显然它会影响页面中的所有项目,而不是for循环中显示的项目。我如何具体针对这些项目

编辑


基于每个人的善意解释,我对上面的代码进行了修改。现在,结果列表中的所有偶数tr都会受到影响,包括
下的第一个
,但我希望它被忽略,我如何才能做到这一点?我尝试将ID单独放在for循环中的
上,但它不起作用…

只要在
I
是否成对时设置不同的颜色:

color = i % 2 == 0 ? color_1 : color_2

i
是否成对时,只需设置不同的颜色:

color = i % 2 == 0 ? color_1 : color_2
CSS3 css3可能会帮助你。带你去学校,读一读,或者在行动中看到它

我会推荐解决方案1,因为我认为这是一个更好的实践

注意:两种解决方案都假定“itemID”在任何时候都不相同,因此我们必须根据其他标准选择元素。这就是我将“item table”类添加到
标记的原因

两种解决方案的HTML

<table id="itemsID" class="item-table">
  <tr>
    <!-- header field names go here  -->
  </tr>
  @for (int i = 0; i < Item.Count; i++)
  {
    <tr>
        <!-- each item's properties go here -->
    </tr>
  }
注意
tr+tr
选择第一个标记后的所有
标记。这对于跳过标题并对其应用其他样式很有用。更多信息

提示:您也可以仅将样式应用于带有的标题,如下所示:

.item-table tr:first-child {
    /* styles for the header row */
}
解决方案2:修改jQuery查询上的选择器 CSS3 css3可能会帮助你。带你去学校,读一读,或者在行动中看到它

我会推荐解决方案1,因为我认为这是一个更好的实践

注意:两种解决方案都假定“itemID”在任何时候都不相同,因此我们必须根据其他标准选择元素。这就是我将“item table”类添加到
标记的原因

两种解决方案的HTML

<table id="itemsID" class="item-table">
  <tr>
    <!-- header field names go here  -->
  </tr>
  @for (int i = 0; i < Item.Count; i++)
  {
    <tr>
        <!-- each item's properties go here -->
    </tr>
  }
注意
tr+tr
选择第一个标记后的所有
标记。这对于跳过标题并对其应用其他样式很有用。更多信息

提示:您也可以仅将样式应用于带有的标题,如下所示:

.item-table tr:first-child {
    /* styles for the header row */
}
解决方案2:修改jQuery查询上的选择器
按如下方式更改jQuery选择器:

$("#itemsID tr:even").css("background-color", "#FFFFFF");
$("tr.my_special_row:even").css("background-color", "#FFFFFF");
或者把它放在CSS中:

#itemsID tr:nth-child(even) { background-color: #FFFFFF; }

按如下方式更改jQuery选择器:

$("#itemsID tr:even").css("background-color", "#FFFFFF");
$("tr.my_special_row:even").css("background-color", "#FFFFFF");
或者把它放在CSS中:

#itemsID tr:nth-child(even) { background-color: #FFFFFF; }

为循环TR指定一个特定类

<tr class="my_special_row">
    <td></td>... etc
</tr>

特定性是你的朋友。

给循环的TR一个特定的类

<tr class="my_special_row">
    <td></td>... etc
</tr>

特异性是你的朋友。

有两种不同的方法。使用纯CSS,它将是(我建议):

或者,您可以将类应用于for循环中的偶数行:

@for (int i = 0; i < Model.Count; i++)
{
    var className = i % 2 == 0 ? "even" : "odd";

    <tr class="@className">
        ...
    </tr>
}
@for(int i=0;i
有两种不同的方法。使用纯CSS,它将是(我建议):

或者,您可以将类应用于for循环中的偶数行:

@for (int i = 0; i < Model.Count; i++)
{
    var className = i % 2 == 0 ? "even" : "odd";

    <tr class="@className">
        ...
    </tr>
}
@for(int i=0;i
在C++ C++中使用了 My.Sy.,“这个”和“::”不是强制性的,但是它们在PHP中没有用,IMO。保持它简单。Mc+See在C++中使用,在这里,“这个”和“::”不是强制性的,但是它们在PHP中没有用,IMO。保持简单。我在哪里写这个?在相关的情况下,您可以将一个类添加到两个类中的一个。所有标记的颜色,以及仅具有该类的标记的颜色,该类将覆盖所有标记的颜色集。其他人的jquery解决方案:即使在选择器中似乎更好,但在需要查找某个标记是否成对时,请记住这一点。我将在哪里编写此代码?在相关的情况下,您可以将一个类添加到两个类中的一个。所有标记的颜色,以及仅具有该类的标记的颜色,该类将覆盖所有标记的颜色集。其他人的jquery解决方案是:即使在选择器中似乎更好,但在需要查找某个标记是否成对时,请记住这一点。
:即使
是有效的css3伪选择器?它不是。它应该是第n个孩子(偶数)
。是的,无论如何,最好不要通过javascript执行此操作,我认为
:甚至
都是有效的css3伪选择器?不是。它应该是第n个孩子(偶数)
。更新。是的,无论如何,最好不要通过javascript执行此操作,我想我会尝试此操作,并让您返回结果。@HerveS我希望它有用顺便问一下,这是什么语言@Html.ActionLink资料?@HerveS我添加了更多的信息,也许你想了解更多关于css选择器的信息,或者你想设计标题。我知道什么是css,谢谢XD。我只是从来没有见过(inti=0;I,这是什么?PHP模板引擎语法?PHP以外的另一种语言?我会试试这个,然后告诉你结果。@HerveS我希望它有用。顺便问一下,这是什么语言@Html.ActionLink资料?@HerveS我添加了更多的信息,也许你想了解更多关于css选择器的信息,或者你想设计标题。我知道什么是css,谢谢XD。我只是从来没有见过(inti=0;I,这是什么?PHP模板引擎语法?PHP之外的另一种语言?