获取行中的第一个和第二个td元素

Nea*_*alR 4 jquery asp.net-mvc-3

我有一个ajax调用附加到表行内的pic的click事件.单击pic并启动click事件后,我需要td从该行中获取第一个和第二个元素.我是jQuery的新手,所以我下面的内容是我最近的尝试(不工作......).变量firstNamelastName两者都undefined在执行这些行之后结束

        $('.checkErrors').click(function () {
            var firstName = $(this).parent('tr td:first-child').val();
            var lastName = $(this).parent('tr td:nth-child(2)').val();
            $.ajax({
                type: 'GET',
                url: '@Url.Action("GetErrors","AgentTransmission")',
                data: { term: $(this).attr('id') },
                .
                .
            });
          });
Run Code Online (Sandbox Code Playgroud)

这是一个示例表行.最后一个td元素中的图像包含.click事件.我想抓住包含文本"phinneas"和"ferbseven"的前两个.

<tr>
    <td>
        phinneas
    </td>
    <td>
        ferbseven
    </td>
    <td nowrap>
        7735        
    </td>
    <td>
        Agent
    </td>
    <td>
        SAF
        &nbsp;&nbsp
        07070900  
    </td>
    <td>
        6/5/2013 10:35:38 AM
    </td>
    <td>
        DANTAK
    </td>
    <td class="errorPlus">
        Error
    </td>            
    <td>

        <a href="/AgentTransmission/Details/2358">Details</a>           
            <span> | </span>
        <a href="/AgentTransmission/Edit/2358">Edit</a>        
    </td>
    <td align=center id=2358>
            <img src="/Content/images/magnify.gif" class="checkErrors" id=2358 alt="Program Details" />
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

Cla*_*edi 6

使用 closest

var $tr = $(this).closest(´tr´);
var firstName = $tr.find('td:first-child').text();
var lastName = $tr.find('td:nth-child(2)').text();
Run Code Online (Sandbox Code Playgroud)

此外,您还需要使用text,而不是valtd元素,因为它只能在输入控件意义.