如何找到具有数据属性的标签
How to find a tag which has a data attribute
我正在尝试查找具有 data-direction
属性的标签。不知何故,它总是未定义的。我想要做的是获取 data-direction
和 data-cellId
的值。
有什么想法吗?
var row = $('<tr data-cellId="' + cell.fatherId + '" data-direction="' + cell.direction + '"/>');
var nameColumn = $('<td class="port-name-col" data-cellId="' + cell.fatherId + '">' +cell.value.name + '</td>');
var btnColumn = $('<td class="port-btn-col"><button type="button" title="Remove" class="btn btn-default btn-xs x-button-icon btn-delete-port"><span class="glyphicon glyphicon-trash"></span></button></td>');
row.append(nameColumn);
row.append(btnColumn);
事件监听器
$(document).off('click', '.btn-delete-port').on('click', '.btn-delete-port', function (event) {
var elem = event.target || event.srcElement;
//find tr element that has cellID attribute
var tr = $(elem).find("tr.data-cellId");
alert($(elem).parent().parent().html())
});
问题出在这一行:
var tr = $(elem).find("tr.data-cellId");
.data-cellId
部分根据具有 class 的元素进行选择。要查找属性,请在选择器中使用 [data-cellId]
:
var tr = $(elem).find("tr[data-cellId]");
然后要获取该属性的值,您可以使用:
tr.attr('data-cellId');
我正在尝试查找具有 data-direction
属性的标签。不知何故,它总是未定义的。我想要做的是获取 data-direction
和 data-cellId
的值。
有什么想法吗?
var row = $('<tr data-cellId="' + cell.fatherId + '" data-direction="' + cell.direction + '"/>');
var nameColumn = $('<td class="port-name-col" data-cellId="' + cell.fatherId + '">' +cell.value.name + '</td>');
var btnColumn = $('<td class="port-btn-col"><button type="button" title="Remove" class="btn btn-default btn-xs x-button-icon btn-delete-port"><span class="glyphicon glyphicon-trash"></span></button></td>');
row.append(nameColumn);
row.append(btnColumn);
事件监听器
$(document).off('click', '.btn-delete-port').on('click', '.btn-delete-port', function (event) {
var elem = event.target || event.srcElement;
//find tr element that has cellID attribute
var tr = $(elem).find("tr.data-cellId");
alert($(elem).parent().parent().html())
});
问题出在这一行:
var tr = $(elem).find("tr.data-cellId");
.data-cellId
部分根据具有 class 的元素进行选择。要查找属性,请在选择器中使用 [data-cellId]
:
var tr = $(elem).find("tr[data-cellId]");
然后要获取该属性的值,您可以使用:
tr.attr('data-cellId');