jQuery在td中选择多个不同类型的元素

时间:2013-01-24 17:01:05

标签: jquery-selectors

鉴于此表结构:

<table id="tblBranchDetails">
    <tr>
        <td width="120px">Branch:</td>
        <td id="branchName" class="branchData">
            <label id="lblBranchName"></label>
            <input type="text" id="txtBranchName" class="hideOnLoad editBranchInfo" />
        </td>
    </tr>
    <tr>
        <td>Address Line 1:</td>
        <td id="branchAddress1" class="branchData">
            <label id="lblAddress1"></label>
            <input type="text" id="txtAddress1" class="hideOnLoad editBranchInfo" />
        </td>
    </tr>...

我正在尝试在每个td中选择标签和输入,以便我可以清除标签的文本并隐藏输入。

这为我提供了标签中的文字(在控制台中验证):

$('table#tblBranchDetails tr td:nth-child(2):eq(0)').text();

所以我知道我可以用“.text('')”

清除标签的文本

想出来之后,我认为这会给我输入值:

$('table#tblBranchDetails tr td:nth-child(2):eq(1)').val()

但它给了我下一个标签中的标签价值。所以很明显我使用的是:nth-​​child()和:eq()函数错误。

我正在尝试做什么的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

我正在研究这个。

以下是解决方案:

$('#btnShowBranchEditBoxes').click(function() {
    $('#tblBranchDetails tr').find('label').fadeOut(200);
    $('#tblBranchDetails tr').find('.editBranchInfo').delay(200).fadeIn(200);

    // Replace the buttons
    $('table#tblBranchDetails input#btnShowBranchEditBoxes').fadeOut(200);
    $('table#tblBranchDetails input.btnEditBranch').delay(200).fadeIn(200);
});