我创建了带有两个td的动态行,文本Host-Address
是从GET请求动态填充的。
<tr>
<td class='hostId'>Host-Address</td>
<td>
<input id="btnProv" type='button' onClick="enablePro()" class='btn-success' value="Provision">
</td></tr>
我需要使用jquery
获取该值function enablePro(){
//var ipAddr = $(this).parent().siblings("td").first().text();
var row = $(this).closest('tr');
var ipAddr = row.find('td.hostId').text();
alert(ipAddr);
}
但是我得到一个空警报框请点亮我的错误
答案 0 :(得分:5)
您需要将this
传递给函数
onClick="enablePro(this)"
function enablePro(elem){
var row = $(elem).closest('tr');
当您将事件内联绑定时, this
引用函数内的窗口对象。
使用 javascript 而非内联事件绑定事件,然后this
指向触发事件的元素。
$('.btn-success').click(enablePro);
<强> Check Fiddle 强>
答案 1 :(得分:0)
您必须将this
或this.id
传递给该函数:
this
引用该控件的对象,而this.id
将为您提供 id of control
onClick="enablePro(this.id)"
function enablePro("#"+sender){
var row = $(sender).closest('tr');
var ipAddr = row.find('td.hostId').text();
alert(ipAddr);
}