javascript - 在数据表中添加新行时如何向元素(标签)添加数据属性?
问题描述
我正在使用 JavaScript 和 JavaScript 函数内部添加新行,并且我想在创建行时将属性和类名添加到行中:
var rowNode = myTable.row.add([results.location_id, location_name.value, location_streetname.value , add_loc_hotline_phone ]).draw().node();
const $rowindex_ = $(rowNode).closest("tr");
const loc_city = $rowindex_.find('.location_address').attr('data-loc_city', location_city.value);
const loc_streetname = $rowindex_.find('.location_address').attr('data-loc_streetname', location_streetname.value);
在上面你可以看到我将如何更新已经存在的属性,但我如何首先创建它们?
更新:我首先需要为每一行创建类名,因为稍后我需要按类名查找标签。那么在创建行时我应该如何给他们类名呢?
解决方案
要将隐藏的数据信息添加到一行,可以使用data()
函数:
var rowNode = myTable.row
.add([results.location_id, location_name.value,
location_streetname.value, add_loc_hotline_phone])
.data({city: location_city.value, streetname: location_streetname.value})
.draw().node();
要添加一个类,您可以使用createdCell
回调:
$('#container').dataTable( {
// ...
"columnDefs": [ {
"targets": 0, // First column
"createdCell": function (td, cellData, rowData, row, col) {
td.classList.add(`column-id`);
}
} ]
} );
推荐阅读
- fastapi - get_current_user 不起作用(OAuth2PasswordBearer 问题)
- python - 使用 pandas/s3fs 读取 S3 存储桶时,如何从 S3 获取异常?
- javascript - 如何使用 DOM 和 toUpperCase 函数将文档中的所有文本大写?
- powershell - POWERSHELL 脚本检查哪些文件只有文件名的第一部分是共同的,并且只移动这些文件
- android - 带有底部工作表的 Motionlayout 无法按预期工作
- python - 如何在绘图框外绘制 LabelSet?
- python - 如何从某个值查找列表中最远项目的索引
- erlang - '"erl.exe"' 不是内部或外部命令、可运行程序或批处理文件
- c# - 如何从 WebApi 二进制文件中检索控制器方法?
- vue.js - vue2 和 composition api - 无法导入 store,错误 [vue-composition-api] 在使用任何函数之前必须调用 Vue.use(VueCompositionAPI)