Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery事件绑定可用于普通链接,但现在可用于带有图像的链接_Jquery - Fatal编程技术网

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;

我有以下jQuery代码:

<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);