我的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。
由于
答案 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'));
});
答案 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);
}