我有一个表试图使用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>
有什么建议吗?
答案 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>