单击div会触发具有类名的所有元素

时间:2014-09-26 19:27:49

标签: jquery html click

我的网站上有2个div。一个具有属性clickDisabled,另一个具有out。 我试图点击一个div,只有当它的属性有clickDisabled时才会显示警告。但在我的情况下,div点击显示警报。如何将警告消息限制为仅使用属性clickDisabled?

的一个div
<div> 
       <img title="You cannot edit." class="editMe" src="/Content/Images/edit.png" clickdisabled="disable">  
</div>

    <div>
        <img title="You cannot edit." class="editMe" src="/Content/Images/edit.png">
    </div>


 if ($('.editMe').attr('clickdisabled') == 'disable') {
        alert('warning');
        return false;
    }

1 个答案:

答案 0 :(得分:2)

使用$(this)代替$('.editMe'),因为下面的语句总是会返回true

if ($('.editMe').attr('clickdisabled') == 'disable')

因为它会检查每个具有类editMe的元素。因此,即使您点击第二个元素,它也会在找到第一个元素时返回true。

以下是您可以尝试的代码

$('.editMe').click(function() {
    if ($(this).attr('clickdisabled') == 'disable') {
        alert('warning');
        return false;
    }
});

Js Fiddle Demo