当用户打开一个页面时,我有一个简单的 AJAX 调用,它开始在后台加载图像:
$('.image-container').load('/images/portfolio/');
这会加载每个图像的副本,一个小一个,一个大一个,例如:
<img src='...' class='small-image' data-picnum='0' style='height:100px; width:100px; opacity:1;'>
<img src='...' class='big-image' data-picnum='0' style='height:400px; width:400px; opacity:0;'>
当点击小图时,我使用 jQuery 检索其“data-picnum”属性,然后找到对应的大图并使其可见:
var picNum = $(this).data('picnum');
$('.big-image[data-picnum="'+picNum+'"]').fadeIn();
但是,当使用 AJAX 加载图像时,jQuery 无法读取“data-picnum”属性。我已经对此进行了测试:
alert($(this).data('picnum');)
弹出窗口只是说“未定义”。我也尝试过按照本文所述执行 .live()、.on() 和 .delegate ... 响应页面加载后添加到文档的元素的单击事件...但没有一个对我有用。图像将成功加载
如何让 jQuery “看到”这些新图像的数据属性?