使用jQuery调用下一个TD

时间:2018-10-20 10:33:54

标签: javascript jquery html

我有一个表试图使用jQuery获取下一个列值,但它始终显示为空白。这是我的代码

<table>
  <tr style="color: rgb(31, 73, 125); background-color: #eaeaea;"><td style="padding-left: 5px;"><a style="cursor: pointer;" onclick="download_excel('BL8','ATR','AWFR')">ATR-ADM-BLCMA8-CHN18-03-01-D</a></td><td>14</td><td>0</td><td>56</td><td>56</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
</table>
<script>
function download_excel(a,b,c){
 text =  $(this).parent().next('td').text();
  alert(text);
}
</script>

function download_excel(a,b,c){
  text =  $(this).parent().next('td').text();
  alert(text);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr style="color: rgb(31, 73, 125); background-color: #eaeaea;"><td style="padding-left: 5px;"><a style="cursor: pointer;" onclick="download_excel('BL8','ATR','AWFR')">ATR-ADM-BLCMA8-CHN18-03-01-D</a></td><td>14</td><td>0</td><td>56</td><td>56</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
</table>

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

函数$(this) .. $(this)的问题没有引用您想要的元素,因此可以添加el download_excel(el , a,b,c)并将$(this)更改为{{1} },然后使用$(el)

onclick="download_excel(this , 'BL8','ATR','AWFR')"
function download_excel(el,a,b,c){
     text =  $(el).parent().next('td').text();
      alert(text);
    }

答案 1 :(得分:1)

当前Microsoft website指向window对象。

您必须将this传递给函数,以便可以将其称为函数内部当前单击的元素:

function download_excel(el, a,b,c){
 text =  $(el).parent().next('td').text();
  console.log(text);
  console.log(this.constructor.name); // window
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr style="color: rgb(31, 73, 125); background-color: #eaeaea;"><td style="padding-left: 5px;"><a style="cursor: pointer;" onclick="download_excel(this, 'BL8','ATR','AWFR')">ATR-ADM-BLCMA8-CHN18-03-01-D</a></td><td>14</td><td>0</td><td>56</td><td>56</td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
</table>