我有一个表格,我需要每行的前两个单元格可点击(不是整行).当我单击第一个或第二个单元格时,我想获得同一行的第三个单元格的值.
为了澄清,当我按a1时,我希望警报显示c1,如果我按b2我希望它显示c2而如果我按c3我不希望发生任何事情.
为了澄清,当我按a1时,我希望警报显示c1,如果我按b2我希望它显示c2而如果我按c3我不希望发生任何事情.
正如你所看到的,我的警报($(this).parent(‘:nth-child(3)’).text());不起作用..我怎么能做到这一点?
$('td:nth-child(-n+2)').on("click",function(){ alert($(this).parent(':nth-child(3)').text()); //Doesn't work });
td{ border: 1px solid black; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> <table> <tr> <td>a1</td> <td>b1</td> <td>c1</td> </tr> <tr> <td>a2</td> <td>b2</td> <td>c2</td> </tr> <tr> <td>a3</td> <td>b3</td> <td>c3</td> </tr> </table>
解决方法
你需要使用.closest(‘tr’)..来选择父tr和.find()来选择td:nth-child(3)
$('td:nth-child(-n+2)').on("click",function(){ alert($(this).closest('tr').find('td:nth-child(3)').text()); });