2017-01-10 4 views
0

jqueryを使用してデータを取得しようとしていますが、値として未定義を取得し続けます。 htmlコードがPHP関数によって文書にエコーされています。おかげJquery data returned undefined

<td data-id='332'> 
    <i class="fa fa-trash delSubCat"></i> 
    <a href='#'>Validate</a> 
</td> 

$(document).on('ready',function(){ 
    $(this).on('click',function(event){ 
    event.preventDefault(); 
    console.log($(this).parent().data("id")); 
    }); 

}); 
+0

は、あなたの外側 'this'参照何か(おそらく文書)のようには見えません。あなたは 'a'またはどこかでクリックをしたいですか? – NKijak

+0

「これ」を参考にしたいと思いますまたはタグ – TomBa

+0

私はそれを手に入れました!こんにちは、私はエラー – TomBa

答えて

0

2つの問題

1)あなたは、TD上にテーブルとTRの階層に従っていなかったので、それが正しくレンダリング取得されていませんがあります。

2)あなたはこの代わりの

<table> 
     <tr> 
    <td data-id='332'> 
     <i class="fa fa-trash delSubCat"></i> 
     <a href='#'>Validate</a> 
    </td> 
     </tr> 
    </table> 

JS

$('a').on('click',function(event){ 
    event.preventDefault(); 
    console.log($(this).parent().data("id")); 
    }); 

の作業jsfiddleにリスナーを追加しました:あなたはのなぜ親の<table>タグが欠落している

https://jsfiddle.net/Lbagfn7o/

+0

を理解してくれたことに感謝します。私は$( 'i、a')をやった。 – TomBa

+0

クールこの質問を閉じる:)。必要に応じてソリューションとして私の答えを選択することができます:) – squiroid

0

a beco無効なため構造のMES本体

$(document).on('ready',function(){ 
 
    $('a').on('click',function(event){ 
 
    event.preventDefault(); 
 
    console.log($(this).parent().data('id')); 
 
    }); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<table> 
 

 
<td data-id='332'> 
 
    <i class="fa fa-trash delSubCat"></i> 
 
    <a href='#'>Validate</a> 
 
</td> 
 

 
</table>