javascript - 使用 jquery 最接近方法查找表行不起作用

标签 javascript jquery

我正在尝试使用 jquery 最接近的方法获取表的行,如下所示

function GetPackageSizeDescription() {
var row = $(this).closest('tr');
.....
//ajax call
data: { packageId: $(row).find('.packageId').val()}
}    

但是在 jquery 执行这行代码之后 var row = $(this).closest('tr'); 以下行出现在浏览器开发人员工具中,我无法获取值该行中的元素数。 row = [prevObject:jQuery.fn.jQuery.init[1],上下文:未定义]

有什么想法吗?

按钮元素表格单元格看起来像

 <td><button type="button" class="btn btn-sm btn-primary" onclick="GetPackageSizeDescription(); return false;">
     <span class="glyphicon glyphicon-info-sign"></span>
      </button>
  </td>

最佳答案

您需要将 this 作为参数发送给函数。

更改为:

function GetPackageSizeDescription(element) {
var row = $(element).closest('tr');

当您调用GetPackageSizeDescription时,执行以下操作:

GetPackageSizeDescription(this)

关于javascript - 使用 jquery 最接近方法查找表行不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30714407/

相关文章:

javascript - 每次循环后通过单击事件获取对象值

javascript - 如何解决未捕获的类型错误 - 无法读取 null 的属性 'addEventListener'

Javascript 多个 setIntervals

javascript - 将值传递给 javascript onClick()

javascript - Redux 形式 : how to handle errors in form component

php - ao数据表的列无法正常工作

javascript - 为什么音频不能在移动浏览器上播放

javascript - 我可以阻止特定的默认事件吗

JQuery delay() 函数被跳过

javascript - Vue 组件不更新函数数据