如何查找具有数据属性的标记

时间:2015-04-17 09:31:45

标签: javascript jquery html custom-data-attribute

我正在尝试查找具有data-direction属性的标记。不知何故,它总是未定义的。我要做的是获取data-directiondata-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())
});

1 个答案:

答案 0 :(得分:9)

问题出在这一行:

var tr = $(elem).find("tr.data-cellId");

.data-cellId部分根据具有该类的元素进行选择。要查找属性,请在选择器中使用[data-cellId]

var tr = $(elem).find("tr[data-cellId]");

要获取该属性的值,您可以使用:

tr.attr('data-cellId');