You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DataTable中更新td内最后一个a标签的data-paiement属性

没问题,我来帮你搞定这个DataTable里的属性更新需求~

更新DataTable中td内最后一个标签的data-paiement属性

针对你描述的场景,这里提供两种常用的实现方案,适配不同的技术环境:

方式一:jQuery实现(适配DataTable常规使用场景)

因为DataTable通常和jQuery搭配使用,这种写法更简洁高效:

// 遍历表格中所有符合条件的td
$('table.dataTable td.dropdown.open').each(function() {
  // 定位当前td内的最后一个<a>标签
  const targetLink = $(this).find('a:last');
  // 更新data-paiement属性,把"your-new-value"替换成你需要的实际值
  targetLink.attr('data-paiement', 'your-new-value');
  // 如果你需要修改jQuery数据缓存中的属性(而非直接修改DOM属性),可以用这句替代:
  // targetLink.data('paiement', 'your-new-value');
});

重要提示:如果你的DataTable是动态加载数据(比如分页切换、搜索刷新后),一定要把这段代码放到DataTable的drawCallback回调里,确保每次表格重绘后都能执行更新:

$('#your-table-id').DataTable({
  // 你的其他表格配置项...
  drawCallback: function() {
    $('td.dropdown.open').each(function() {
      const targetLink = $(this).find('a:last');
      targetLink.attr('data-paiement', 'your-new-value');
    });
  }
});

方式二:原生JavaScript实现

如果不想依赖jQuery,也可以用原生JS完成操作:

// 获取表格中所有目标td元素
const targetTDs = document.querySelectorAll('table.dataTable td.dropdown.open');
targetTDs.forEach(td => {
  // 获取当前td内的所有<a>标签
  const allLinks = td.querySelectorAll('a');
  if (allLinks.length > 0) {
    // 定位最后一个<a>标签
    const lastLink = allLinks[allLinks.length - 1];
    // 更新data-paiement属性
    lastLink.setAttribute('data-paiement', 'your-new-value');
    // 也可以用dataset属性直接修改:
    // lastLink.dataset.paiement = 'your-new-value';
  }
});

同样,动态表格场景下,需要在数据加载完成或表格重绘后执行这段代码。

小技巧:如果需要根据每行的动态数据来设置data-paiement值,可以结合DataTable的行数据API(比如row().data())获取当前行的对应字段,再赋值给属性,这样能实现更灵活的个性化更新。

内容的提问来源于stack exchange,提问作者Alex Caron

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:59:59