Javascript 使用附加图像作为选择器

Javascript 使用附加图像作为选择器,javascript,jquery,Javascript,Jquery,我正在创建一个程序,允许用户通过触摸屏从订阅源中选择Instagram照片,从而在活动中打印Instagram照片 然而,一旦我把这些图像拉进来,我就很难将它们用作选择器 我获取的图像如下所示: $.ajax({ url: 'https://api.instagram.com/v1/tags/' + hashtag + '/media/recent', dataType: 'jsonp', type: 'GET', data: {access_token: token, count: num_p

我正在创建一个程序,允许用户通过触摸屏从订阅源中选择Instagram照片,从而在活动中打印Instagram照片

然而,一旦我把这些图像拉进来,我就很难将它们用作选择器

我获取的图像如下所示:

$.ajax({
url: 'https://api.instagram.com/v1/tags/' + hashtag + '/media/recent',
dataType: 'jsonp',
type: 'GET',
data: {access_token: token, count: num_photos},
success: function(data){
    console.log(data);
    for(x in data.data){
        identifier++;
        $('div').append('<img id="image' + identifier + '" src="'+data.data[x].images.standard_resolution.url+'"></img>');
        }
    },
    error: function(data){
        console.log(data);
    }
});
当我使用$div作为选择器时,它确实可以工作,但在确定单击了哪个图像时,这显然没有多大帮助

我还没有足够的时间来正确地输出所有内容,因此我使用window.print


有人能指出我哪里出了问题吗?谢谢

您正在获取图像并动态添加它们,因此当文档准备就绪时,选择器$'image1'不在那里

您可以做的是选择$div并在该div内选择图像

$(document).ready(function(){
    $("#div").on("click","#image1" function(){
        window.print();
    });
});

您正在获取图像并动态添加它们,因此当文档准备就绪时,选择器$'image1'不在那里

您可以做的是选择$div并在该div内选择图像

$(document).ready(function(){
    $("#div").on("click","#image1" function(){
        window.print();
    });
});

嗯,我不知道您是否真的在初始化“标识符”,如果不是,那么您可能没有创建image1的id

也就是说,更简单的方法是将click事件绑定到与div的所有图像子级匹配的选择器,然后从事件中获取click事件:

$div>img.onclick,函数{console.log$this.attr'src';}


它应该记录与单击的标记关联的图像的url

嗯,我不知道您是否真的在初始化“标识符”,如果不是,那么您可能没有创建image1的id

也就是说,更简单的方法是将click事件绑定到与div的所有图像子级匹配的选择器,然后从事件中获取click事件:

$div>img.onclick,函数{console.log$this.attr'src';}


它应该记录与单击的标记关联的图像的url

问题似乎是您甚至在创建图像之前就绑定了事件。您必须在创建元素之后立即绑定事件,即在本例中,在ajax方法的success函数中。像这样


问题似乎是您甚至在创建图像之前就已经绑定了事件。您必须在创建元素之后立即绑定事件,即在本例中,在ajax方法的success函数中。像这样


$document.onclick,image1,函数{$document.onclick,image1,函数{好的。像div选择器而不是document选择器好的。像div选择器而不是document选择器selector@TomDavies,还要确保ajax调用在某处进行。@Tom Davies,还要确保ajax调用在某处进行。这为我节省了很多时间!谢谢!这为我节省了很多时间!谢谢!
$.ajax({
url: 'https://api.instagram.com/v1/tags/' + hashtag + '/media/recent',
dataType: 'jsonp',
type: 'GET',
data: {access_token: token, count: num_photos},
success: function(data){
    console.log(data);
    for(x in data.data){
        identifier++;
        $('div').append('<img id="image' + identifier + '" src="'+data.data[x].images.standard_resolution.url+'"></img>');
        }
$("#image1").on("click", function(){
        window.print();
    });
    },
    error: function(data){
        console.log(data);
    }
});