根据第一个td中的文本获取初始值

时间:2017-07-05 17:57:13

标签: javascript jquery

我有这样的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 ) 

对于我的生活,我不明白为什么。要清楚,我所追求的是第一行的数据,其中第一个单元格是特定的文本值。

1 个答案:

答案 0 :(得分:1)

可能与报价有关;尝试在选择器中使用双引号,以避免与多个单引号混淆。

var initValue = $("#resultsTable tr td:first-child:contains('" + tableName + "')").parent().data('auditidentity');