2017-07-05 8 views
0

最初のTDにテキストに基づいて初期値を取得します。私はそうのような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

ロジックは、すでに行への参照を持って....も意味がありません....あなたは、これはちょうどだった、と思うだろうどこが – charlietfl

+0

から 'tableName'を得たセルは、私が見ることができます@charlietfl私が解決しようとしている大きなパズルの小さな部分です。 –

+0

':contains 'を使って答えを使うことに基づいて、確かに[XY問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)のように思えます。 – charlietfl

答えて

1

引用符に関連付けることができます。セレクタで二重引用符を使用して、複数の単一引用符と混同しないようにしてください。

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

それは面倒を見ました構文の問題(ありがとう!)が、私は値を警告するとき、今私は未定義になっています。 –

+0

これは答えです:var initValue = $( "#resultsTable tr td:first-child:contains( '" + tableName + "')")。parent()。data( 'auditidentity');あなたの助けなしにはそこには行かないでしょう。 –

+0

私は子供/兄弟(td)の行にデータが入っていたので、.parentが必要でした!答えにparent()を追加し、勝者を追加してください! –

関連する問題