从td中找到td文本,点击相同的tr

Hel*_*rld 3 jquery

为什么这不起作用 $(this).parents("tr").find("td:eq(2)").html()

我不能接缝来获得getthis相对于td tr它所称的文本" "

<table>

    <tr>
        <td>1</td>
        <td>getthis</td>
        <td onclick="$(this).parents("tr").find("td:eq(2)").html()">4</td>
        <td>5</td>
    </tr>

    <tr>
        <td>1</td>
        <td>getthis</td>
        <td onclick="$(this).parents("tr").find("td:eq(2)").html()">4</td>
        <td>5</td>
    </tr>

        <tr>
        <td>1</td>
        <td>getthis</td>
        <td onclick="$(this).parents("tr").find("td:eq(2)").html()">4</td>
        <td>5</td>
    </tr>

    <tr>
        <td>1</td>
        <td>getthis</td>
        <td onclick="$(this).parents("tr").find("td:eq(2)").html()">4</td>
        <td>5</td>
    </tr>   

</table>
Run Code Online (Sandbox Code Playgroud)

Den*_*nis 10

您使用双引号太多了.在线创建字符串时,您不小心结束了该onclick属性.此外,eq是零索引,所以你想要的1.

更好(但只是因为它有效):

<td onclick="$(this).parents('tr').find('td:eq(1)').html()">4</td>
Run Code Online (Sandbox Code Playgroud)

最好:

$("table").on("click", "td:nth-child(2)", function(e) {
    $(this).prev().html();  //Get the previous sibling's HTML without inline JS
});
Run Code Online (Sandbox Code Playgroud)