如何获得第二个td innerHTML

时间:2013-05-02 18:01:42

标签: javascript jquery

情境:

我正在使用数据表库来显示大量信息。该表包含以下行:

Id   Type     Name      Case

我正在寻找的是当我点击第二行类型时,该值将被采用并粘贴到文本框中

实施例

Id   Type     Name      Case
1    text     Juan       20001
3    List     Pedro      20005

如果我单击id为#1的行,我需要使用Type innerHTML。无论我点击哪一行只是采取第二个td的html。

我尝试使用此代码:

$("tr td").click(function () {

    alert($(this).html());
    })

它工作得很好,但问题是用户必须完全单击行名称,但如果用户可以点击任何行并且只需要第二行html就会更好。

Suggesstions?

3 个答案:

答案 0 :(得分:1)

尝试使用eq()

  

但如果用户可以点击任何一行而只是更好   取第二行html。

$("tr td").click(function () {
    secondrow = $(this).closest('tr').siblings().eq(1);
});
  

如果我单击id为#1的行,我需要输入Type   innerHTML之中。无论我点击哪一行只是采取   第二个td的html。

$("tr td").click(function () {
    secondTd = $(this).siblings().eq(1);
    alert(secondTd.html());
});

答案 1 :(得分:1)

myRow.getElementsByClassName('td')[1].innerHTML
只要第一个表格单元格不包含嵌套表格,

就可以获得innerHTML的第二个表格单元格的myRow

您可以尝试将点击处理程序添加到行而不是单元格中。

答案 2 :(得分:0)

试试这个

     $(function () {
        $("#thetable tr").click(function () {
           if ($(this).index() == 0) return;
           $('#tbox').val($('td:nth-child(2)', $(this)).html())
        })
     });

HTML

  <table border="1" cellpadding="4" id="thetable">
     <tr>
        <td>Id</td>
        <td>Type</td>
        <td>Three</td>
        <td>Four</td>
     </tr>
     <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
     </tr>
     <tr>
        <td>5</td>
        <td>6</td>
        <td>7</td>
        <td>8</td>
     </tr>
  </table><br />
  <input type="text" name="tbox" id="tbox" />

该方法会考虑仅包含标签的第一行,如果单击顶行,则不会将文本框值设置为标签。