我有这样的HTML:
<table id="resultsTable">
<tbody role="alert" aria-live="polite" aria-relevant="all">
<tr class="subRow odd" data-activitylogid="6459056" data-auditidentity="18487186" data-auditid="f831583e-d1a9-4e35-ac92-82a5cb48c62e">
<td class=" sorting_1">UserSelection</td>
<td class=" "><a class="auditaction">Update</a></td>
</tr>
<tr class="subRow even" data-activitylogid="6459056" data-auditidentity="18487179" data-auditid="88506880-632f-4e17-bceb-ebd4e20e435a">
<td class=" sorting_1">Procedure</td>
<td class=" "><a class="auditaction">Update</a></td>
</tr>
我试图像这样获得auditidentity数据值:
var uniqueKeys = [];
$('#resultsTable').find('tbody > tr').each(function() {
var tableName = $(this).find('td:eq(0)').text();
var tableAction = $(this).find('td:eq(1)').text();
var uniqueKey = tableName + '#' + tableAction;
if (uniqueKeys.indexOf(uniqueKey) < 0) {
uniqueKeys.push(uniqueKey);
} else {
//alert(tableName);
//var initValue = $('#resultsTable tr td:first-child:contains(''' + tableName + ''')).data('auditidentity');
//alert(initValue);
var activityLogId = $(this).data('activitylogid');
var auditidentity = $(this).data('auditidentity');
var tableNameString = $(this).find('td:eq(0)').text();
var actionType = $(this).find('td:eq(1)').text();
//$(resultsTable).find('tbody > tr > td:first').contains(tableName).data('auditidentity', initValue + ',' + auditidentity);
// After we have what we need, remove the combined row
$(this).remove();
}
});
注释掉的initValue行不正确,控制台显示:
VM572:56 Uncaught SyntaxError: missing )
对于我的生活,我不明白为什么。要清楚,我所追求的是第一行的数据,其中第一个单元格是特定的文本值。
答案 0 :(得分:1)
可能与报价有关;尝试在选择器中使用双引号,以避免与多个单引号混淆。
var initValue = $("#resultsTable tr td:first-child:contains('" + tableName + "')").parent().data('auditidentity');