td:first-child不适用于动态生成的td

时间:2014-08-11 07:11:10

标签: css

我无法让td:first-child在静态创建的表中为动态创建的<td>工作。 我有以下静态标记

    <table class="tblgenInfo">
        @for (int i = 0; i < Model.Controls.Count(); i++)
        {
            if (Model.Controls[i].HtmlAttributes["section"].ToString() != "0")
            {
                continue;
            }

            <tr>
                @Html.HiddenFor(x => x.Controls[i].Type)
                @Html.HiddenFor(x => x.Controls[i].ID)
                @Html.EditorFor(x => x.Controls[i])


             </tr>
          }
        </table>

在上面的代码中,@ EditorFor(x =&gt; x.Control [i])动态地在<td>内创建控件。 我有以下CSS,如果<td>是静态创建的,但不适用于动态创建的,请使用。请帮助。

    .tblgenInfo  tr  td:first-child{
     width: 28%;
     }

由于

2 个答案:

答案 0 :(得分:0)

也许你把css放在页脚中,以便在页面加载后调用样式?

<footer>

<p>your footer words</p>

<style>
   .tblgenInfo  tr  td:first-child { width: 28%; }
 </style>

</footer>

答案 1 :(得分:0)

由于在td之前的tr内生成了其他元素 - first-child选择器不起作用。

在您的情况下,您需要使用first-of-type选择器。

所以你的代码变成了:

.tblgenInfo  tr  td:first-of-type { 
   width: 28%; 
}