2017-05-09 11 views
1

".id"メソッドがこのjQueryコードで機能しないのはなぜですか?私は、次のしている

var thisTable = $(this).closest('table').id; 

Firebugのは示しています

$(this).closest('table').id -> Undefined 

ただし、以下の作業を行います。

$(this).closest('table').attr('id') -> "myTable" 
$(this).closest('table').prop('id') -> "myTable" 

のようなjQueryのセレクタの後にサポートされていません.ID方法です。最も近い?

+0

[この回答](http://stackoverflow.com/questions/10578566/jquery-this-id-returnよりも、jsのオブジェクトを取得するには$(this).closest('table')[0]を行う必要があります-undefined)が役立ちます。 –

答えて

4

.idは、メソッドではなくプロパティです。 jQueryにはそれがありません。だから、たぶん$(this).closest('table')[0].id

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="id-of-tbl"> 
 
    <tr> 
 
    <td><button onClick="console.log($(this).closest('table')[0].id)">Get ID</button></td> 
 
    </tr> 
 
</table>

関連する問題