jQuery 元素

3

我正在处理一个小项目,但是遇到了一个问题。我使用jQuery创建新元素。因为它们在页面加载时不在文档中,所以我无法以任何方式操纵它们。有没有办法让jQuery读取新元素以解决我的问题?

$("img.fbimg").click(function(){
    $(this).hide();
});
2个回答

3
您需要使用事件委托:
$("body").on("click", "img.fbimg", function() {
    $(this).hide();
});

在这里,您可以将"body"替换为img.fbimg的任何静态父元素。


1

您似乎需要

$(document.body).on('click', "img.fbimg", function(){
    $(this).hide();
});

这将使得即使是在动态添加的元素上,其选择器为“img.fbimg”的情况下,也能捕获到“click”事件。
请注意,如果您有一个更精确的元素包含您的图像并且在加载时存在,那么使用它会更有效率。
$('#idOfElementContainingAllTheImages').on('click', "img.fbimg", function(){

参考


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接