IE问题与Jquery方法

时间:2012-08-20 18:06:45

标签: jquery

我无法获取元素的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);
})

2 个答案:

答案 0 :(得分:2)

<td> s 必须位于<table>内。如果不是,大多数浏览器都会将它们从DOM中删除。因此,$(this).parent()可能不是您认为的元素。

这是一个快速演示:http://jsfiddle.net/NTICompass/cyK3h/

答案 1 :(得分:1)

使用prop,而不是attr

$('.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