当我点击img我想获得前一个td的值.. 我尝试此代码,但它不起作用,警报无法显示(userid)值
$(document).ready(function()
{
var $Edit = $("tbody tr.odd td.hvr img");
$Edit.click(function() {
var userid = $(this).prev('td').val();
alert(userid);
}
)
})
html代码:
<tbody>
<tr class="odd">
<td>some</td>
<td class="hvr"><img src="EditBtn.png"/></td>
</tr>
</tbody>
答案 0 :(得分:4)
您的尝试有两个问题,第一个是td
不 img
元素的上一个兄弟,它是{{的前一个兄弟姐妹1}}元素的父(img
)元素。
第二个问题是td
没有td
属性,因此value
是错误的方法,而是val()
,所以请尝试使用:
text()
参考文献:
答案 1 :(得分:0)
this
是<img>
标记,而不是td
。使用closest('td')
可使<td>
最接近图片。<td>
标记没有值,因此val()
无效。使用text()
获取内部文字:尝试:
$(document).ready(function()
{
var $Edit = $("tbody tr.odd td.hvr img");
$Edit.click(function() {
var userid = $(this).closest('td').prev('td').text();
alert(userid);
})
})