jQuery事件绑定可用于普通链接,但现在可用于带有图像的链接
我有以下jQuery代码:jQuery事件绑定可用于普通链接,但现在可用于带有图像的链接,jquery,Jquery,我有以下jQuery代码: <script type="text/javascript"> jQuery.noConflict(); jQuery(document).ready(function(){ jQuery('a.connect').bind("click", function(event) { var str = event.target.id;
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function(){
jQuery('a.connect').bind("click", function(event)
{
var str = event.target.id;
alert (str);
var uid = str.substring(str.indexOf("_") + 1);
//connect (uid);
});
});
</script>
已正确检索ID
有谁能解释一下这一点,并告诉我为什么第二个HTML变体不能像现在这样使用jQuery函数 这是因为当您在第二种变体中单击时,实际上是在图像中单击,单击事件随后传播到包含的
a
元素,因此当您打印event.target.id
时,您正试图访问图像的id
,该图像不存在,这样就得到了一个空字符串
您可以在第二种变体中执行此操作进行测试:
alert(event.target.tagName);
这会给你IMG
要在第二个变体中访问
a
元素的id
,只需执行$(this).attr('id')
谢谢,您是正确的。您的警报语句返回“IMG”。现在,为了获得围绕图像的链接标记的ID,我必须做什么?只需在单击处理程序中执行$(this).attr('ID')。更新了答案。
<a class="connect" id="connect_{$uid}" href="#"><img src="{$imgSocialConnect}" alt="{$lblSocialConnect}" title="{$lblSocialConnect}" /></a>
alert (jQuery(this).attr('id') );
alert(event.target.tagName);