按ID

时间:2015-11-13 14:29:26

标签: javascript jquery html css

您可以使用jQuery选择基于id的图像吗?因为当我尝试它时,它没有用。这是正确的方法吗?感谢

$(document).ready(function () {
    $("#imageID").click(function (){
        $("#imageID").addClass("className");
    });    
});

2 个答案:

答案 0 :(得分:0)

这可能会发生,因为绑定事件时元素不在DOM内部。然后你可以尝试使用on函数绑定jquery并将事件绑定到body,例如:

 $(document).ready(function () {
     $("body").on("click", "#imageID", function (){
         $(e.target).addClass("className");
     });   
 });

答案 1 :(得分:0)

首先,检查重复的ID。

更好的方式:

$(document).ready(function () {
    $("#imageID").on('click', function (){
        $(this).addClass("className");
    });
});

此外,它只为点击的图像添加新的类名,而不是所有图像,所以这是正确的方法。

您的问题可能会发生,因为您有#imageID id。或其他标签。

所以,更好的方法是使用js- *类:

<img src="/images/img.png" class="js-my-image" alt="">

代码:

$(document).ready(function () {
    $(".js-my-image").on('click', function (){
        $(this).addClass("className");
    });
});

如果在页面加载后添加了图像,则右键代码:

$(document).ready(function () {
    $(document).on('click', '.js-my-image', function (){
        $(this).addClass("className");
    });
});

$(document).ready(function () {
    $(".js-my-image").live('click', function (){
        $(this).addClass("className");
    });
});