无法获取值:JQUERY

时间:2013-08-13 07:13:34

标签: javascript jquery

我创建了带有两个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);
 }

但是我得到一个空警报框请点亮我的错误

2 个答案:

答案 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)

您必须将thisthis.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);
 }