Javascript 选择由Firebase动态创建的元素

Javascript 选择由Firebase动态创建的元素,javascript,jquery,firebase,firebase-realtime-database,Javascript,Jquery,Firebase,Firebase Realtime Database,我创建了一个网站,它显示了Firebase数据库中的照片。我希望当按下心脏按钮时,返回带有所选图像url的警报 我遇到了问题,因为当我单击按钮时,它会返回数据库中的所有URL,而不仅仅是我选择的动物的URL JavaScript/jQuery: var read_db = firebase.database().ref('animais/Gato'); read_db.orderByKey().limitToLast(100).on("child_added", function (snaps

我创建了一个网站,它显示了Firebase数据库中的照片。我希望当按下心脏按钮时,返回带有所选图像url的警报

我遇到了问题,因为当我单击按钮时,它会返回数据库中的所有URL,而不仅仅是我选择的动物的URL

JavaScript/jQuery:

var read_db = firebase.database().ref('animais/Gato');

read_db.orderByKey().limitToLast(100).on("child_added", function (snapshot) {
    var animal = snapshot.key;
    var search_image = firebase.database().ref("animais/Gato/" + animal + "/_img/");

    search_image.once('value').then(function (snapshot) {
        let $parent = $('<div/>', {
            'class': 'div1'
        });
        let $limits = $('<div/>', {
            'class': 'border'
        });
        let $image = $('<img/>', {
            'src': snapshot.val(),
            'class': 'animal'
        });
        let $bar_like = $('<div/>', {
            'class': 'bar'

        });
        let $icon_like = $('<img/>', {
            'src': 'css/like.png',
            'class': 'icon_like',
            'id': 'btn_like'
        });

        $bar_like.append($icon_like);
        $limits.append($bar_like);
        $limits.append($image);
        $parent.append($limits).appendTo(".put_divs_here");

        $(document).ready(function () {
            $("#btn_like").click(function () {
                alert(snapshot.val());
            });
        });
var read_db=firebase.database().ref('animais/Gato');
读取\u db.orderByKey().limitToLast(100).on(“添加了子项”,函数(快照){
var-animal=snapshot.key;
var search_image=firebase.database();
搜索图像。一次('value')。然后(函数(快照){
设$parent=$(“”{
'class':'div1'
});
设$limits=$(“”{
“类”:“边界”
});
设$image=$(“”{
'class':'bar'
});
让$icon_like=$('


我认为您已经为每个项目创建了
唯一键

您只需从所选项目中获取
唯一键
,然后启动firebase查询

   var id = 1234   //get selected element key here;
   var read_db = firebase.database().ref('animais/Gato/' + id);
   read_db.once('value').then(function (snapshot) {

       let $parent = $('<div/>', {
            'class': 'div1'
        });
        let $limits = $('<div/>', {
            'class': 'border'
        });
        let $image = $('<img/>', {
            'src': snapshot.val(),
            'class': 'animal'
        });
        let $bar_like = $('<div/>', {
            'class': 'bar'

        });
        let $icon_like = $('<img/>', {
            'src': 'css/like.png',
            'class': 'icon_like',
            'id': 'btn_like'
        });

        $bar_like.append($icon_like);
        $limits.append($bar_like);
        $limits.append($image);
        $parent.append($limits).appendTo(".put_divs_here");

        $(document).ready(function () {
            $("#btn_like").click(function () {
                alert(snapshot.val());
            });

});
var id=1234//在此处获取所选元素键;
var read_db=firebase.database().ref('animais/Gato/'+id);
读取数据库一次(“值”)。然后(函数(快照){
设$parent=$(“”{
'class':'div1'
});
设$limits=$(“”{
“类”:“边界”
});
设$image=$(“”{
'class':'bar'
});
让$icon_like=$('

当您在firebase中使用
push()
方法时,它将自动为您的记录生成唯一密钥。使用
set()
update()
方法创建您自己的自定义密钥。

我认为您已经为每个项目创建了
唯一密钥

您只需从所选项目中获取
唯一键
,然后启动firebase查询

   var id = 1234   //get selected element key here;
   var read_db = firebase.database().ref('animais/Gato/' + id);
   read_db.once('value').then(function (snapshot) {

       let $parent = $('<div/>', {
            'class': 'div1'
        });
        let $limits = $('<div/>', {
            'class': 'border'
        });
        let $image = $('<img/>', {
            'src': snapshot.val(),
            'class': 'animal'
        });
        let $bar_like = $('<div/>', {
            'class': 'bar'

        });
        let $icon_like = $('<img/>', {
            'src': 'css/like.png',
            'class': 'icon_like',
            'id': 'btn_like'
        });

        $bar_like.append($icon_like);
        $limits.append($bar_like);
        $limits.append($image);
        $parent.append($limits).appendTo(".put_divs_here");

        $(document).ready(function () {
            $("#btn_like").click(function () {
                alert(snapshot.val());
            });

});
var id=1234//在此处获取所选元素键;
var read_db=firebase.database().ref('animais/Gato/'+id);
读取数据库一次(“值”)。然后(函数(快照){
设$parent=$(“”{
'class':'div1'
});
设$limits=$(“”{
“类”:“边界”
});
设$image=$(“”{
'class':'bar'
});
让$icon_like=$('
当您在firebase中使用
push()
方法时,它将自动为您的记录生成唯一密钥。使用
set()
update()
方法创建您自己的自定义密钥