3

要素のIDを取得できません。コードはFFとchromeで機能しますが、IEでは機能しません。誰かがそれについて私を助けることができますか?どうもありがとう

<td id='tdID'>
    <img id='test' src='a.jpg' class='imgClass' />
</td>

jquery

$('.imgClass').click(function(){
   ip=$(this).parent().attr('id');          

   //undefined in IE
   console.log(ip);
})
4

2 に答える 2

2

<td>sは。内にある必要<table>があります。そうでない場合、ほとんどのブラウザはそれらをDOMから削除します。だから、$(this).parent()あなたが思う要素ではないかもしれません。

簡単なデモは次のとおりです:http://jsfiddle.net/NTICompass/cyK3h/

于 2012-08-20T18:12:05.013 に答える
1

attrではなくpropを使用する

$('.imgClass').on("click", function(){
   var id = $(this).parent().prop("id");          
   console.log(id);
});

また、マークアップを変更する場合は、最も近いものを使用する方が安全な場合があります

$('.imgClass').on("click", function(){
   var id = $(this).closest("td").prop("id");          
   console.log(id);
});

jsFiddle

于 2012-08-20T18:32:18.983 に答える