如何获取在jquery中选择的图像的id

时间:2012-01-30 10:48:05

标签: jquery image

我的html主体中有以下代码。

<ul>
<li>
<div>
<a href=javascript:contactsAction() > 
<img src="contactimageloc1.jpg"  id="image_id1  "    width="140px" height="160px"/>
</a>
<br> 
 firstName     lastName  ,   title   
</div>
</li>
<li>
<div>
<a href=javascript:contactsAction() > 
<img src="contactimageloc.jpg"  id="image_id2"    width="140px" height="160px"/>
</a>
<br> 
 firstName     lastName  ,   title   
</div>
</li>
</ul>

当点击图像时,我想知道图像ID。

<script>
function  contactsAction(){

alert('On Image click function'+$(':image'));
alert('Inside $(this).find(a:first).attr(id) :'+$(this).find('a:first').attr('id'));

alert('image $(this).children(a).attr(id): '+$(this).children('a').attr('id'));

alert('image $(this).children(a).eq(0).attr(id): '+$(this).children('a').eq(0).attr('id'));

alert('$(this).children().length: '+ $(this).children().length);
alert('image id: '+$(this).attr('id').value);

}
</script>

对于alert('$(this).children().length: '+ $(this).children().length);,我输出为0。

对于所有其他警报,我将未定义为输出。

任何人都可以帮助我如何获取所选图像的图像ID。

由于

3 个答案:

答案 0 :(得分:0)

$(this).children().attr('id')

答案 1 :(得分:0)

contactsAction内,this会引用window,因为您将其称为普通功能。

我建议为这些链接提供正确的URL,并使用jQuery附加事件处理程序:

$('a').click(function(event) { // use an appropriate selector here
    event.preventDefault();    // don't follow the URL
    console.log('Image clicked: ' + $(this).children('img').attr('id'));
});

请查看jQuery API documentationjQuery tutorials

答案 2 :(得分:0)

(this).id将为您提供相关元素的ID。

function  contactsAction(
){

alert (this.id); //This will tell you the id of the element

alert('On Image click function'+$(':image'));
alert('Inside $(this).find(a:first).attr(id) :'+$(this).find('a:first').attr('id'));

alert('image $(this).children(a).attr(id): '+$(this).children('a').attr('id'));

alert('image $(this).children(a).eq(0).attr(id): '+$(this).children('a').eq(0).attr('id'));

alert('$(this).children().length: '+ $(this).children().length);
alert('image id: '+$(this).attr('id').value);

}