获取tr元素的data属性及动态表格代码功能咨询
没问题,要拿到被删除<tr>的data属性其实很容易,咱们直接在你的deleteRow函数里调整几步就好:
首先,你已经通过closest()方法定位到了目标行,只要在删除它之前,用jQuery的data()方法或者attr()方法就能取出data属性的值。这里假设你的<tr>上的data属性是data-post-id(毕竟你日志里提到了post_id),修改后的代码如下:
function deleteRow(e) { // 直接定位到要删除的tr元素 const targetRow = $(e.target).closest('tr'); // 获取data属性的值,两种方法选其一: // 方法1:用data(),自动处理命名转换(比如data-post-id对应data('post-id')) const postId = targetRow.data('post-id'); // 方法2:用attr(),直接获取原始属性字符串 // const postId = targetRow.attr('data-post-id'); console.log("Deleted post_id with number: ", postId); // 最后删除该行 targetRow.remove(); }
简单解释下:
- 我把定位tr的步骤简化了,不用先找delete按钮再找tr,直接从点击的元素往上找最近的tr更高效
- 如果你的data属性是其他名称(比如
data-row-id),只要把data('post-id')里的名称换成对应的就行,data()方法会自动识别data-前缀的属性 - 要是你需要的是属性的原始字符串(比如属性值是数字但你想保留字符串类型),用
attr()方法更合适
这样就能轻松拿到你需要的tr的data属性值啦!
内容的提问来源于stack exchange,提问作者Carol.Kar
相关产品推荐
相关产品推荐

