如何通过Jquery在td上添加类

时间:2009-10-27 12:58:19

标签: jquery

我在html以下

<table class="Newuser" cellspacing="0" cellpadding="0" border="0" id="ctl00_ContentPlaceHolder2_CreateUserWizard1">
<tr>
    <td>
        <table>
            <tr>
                <td>
                </td>
                <td>
                </td>
            </tr>
        </table>
    </td>
</tr>
<tr>
    <td>
        <table>
            <tr>
                <td>
                </td>
                <td>
                </td>
            </tr>
        </table>
        </td>
    </tr>
</table>

现在我想通过Jquery在运行时添加一个类,以便我的更新代码如下所示。我想在第二个第一个td上添加一个,其主要类是“Newuser”

<table class="Newuser" cellspacing="0" cellpadding="0" border="0" id="ctl00_ContentPlaceHolder2_CreateUserWizard1">
<tr>
    <td>
        <table>
            <tr>
                <td>
                </td>
                <td>
                </td>
            </tr>
        </table>
    </td>
</tr>
<tr>
    <td>
        <table>
            <tr>
                <td class="buttonClose">
                </td>
                <td>
                </td>
            </tr>
        </table>
        </td>
    </tr>
</table>

请建议!

3 个答案:

答案 0 :(得分:5)

首先,我必须说嵌套表是100%糟糕的。请重新考虑您的设计。

好的,现在不在我的系统中,试试这个:

$("table.Newuser > tbody > tr:eq(1) table td:eq(0)").addClass("buttonClose")

要选择Newuser表的第一行,您需要使用这些>子规则,包括tbody,否则“second tr”实际上是第一行{{如果您知道我的意思,请填写第一行中的表格。

某些浏览器会自动向没有它们的表添加tr元素,而其他浏览器则不会,并且我认为此查询可能在这些浏览器中不起作用。您应该始终在表中添加tbody元素。 (永远不要把它们筑巢!)

答案 1 :(得分:4)

答案 2 :(得分:0)

$('#ctl00_ContentPlaceHolder2_CreateUserWizard1 > tr').filter(':nth-child(2)').find('td:first').addClass('buttonClose');