Javascript 如何从动态创建的按钮中获取属性?

Javascript 如何从动态创建的按钮中获取属性?,javascript,jquery,mysql,node.js,backend,Javascript,Jquery,Mysql,Node.js,Backend,因此,我正在构建某种电子商务网站,我需要使用nodejs和ajax从mysql数据库导入一系列产品 到目前为止,我已经能够做到这一点,并且在每个产品下面创建了一些按钮,这些按钮将导致一个/product页面,其中将显示该确切产品的其他信息 由于这些按钮不是动态的,所以我需要添加一个属性,该属性将包含产品ID,然后我将使用该ID向服务器发送POST请求,以便获得有关该特定产品的信息 虽然我能够将属性添加到按钮本身,但我不知道如何获得它们的值 这就是我将属性添加到按钮的方式 $(function (

因此,我正在构建某种电子商务网站,我需要使用nodejs和ajax从mysql数据库导入一系列产品

到目前为止,我已经能够做到这一点,并且在每个产品下面创建了一些按钮,这些按钮将导致一个/product页面,其中将显示该确切产品的其他信息

由于这些按钮不是动态的,所以我需要添加一个属性,该属性将包含产品ID,然后我将使用该ID向服务器发送POST请求,以便获得有关该特定产品的信息

虽然我能够将属性添加到按钮本身,但我不知道如何获得它们的值

这就是我将属性添加到按钮的方式

$(function () {
        $.ajax({
            type: 'POST',
            url: '/getPacotes',
            success: function (data) {
                for (var i = 0; i < data.length; i++) {

                    var idPacote = data[i].idPacote;
                    var nomePacote = data[i].Nome_Pacote;
                    var precoPacote = data[i].Preco_Pacote;
                    var fornecedorPacote = data[i].Fornecedor_Pacote;
                    var foto = "https://webitcloud.net/PW/1617/RMR/Views/images/Pacotes/" + data[i].Foto;

                    var pacoteSet1 = "<div class='col-md-4 pacotes'>";
                    var pacoteSet2 = "<img src=" + foto + " alt='Mountain View' style='width:150px;height:150px;'><br><br><input id=btnPac" + i + "' type='button' name='comprar' value='Comprar Pacote'>";
                    var pacoteSet3 = "</div>";

                    $("#pacotes").append(pacoteSet1 + "<h1>" + nomePacote + "</h1>" + "<h2>" + fornecedorPacote + "</h2>" + "<h3>" + precoPacote + "euros/mes </h3>" + pacoteSet2 + pacoteSet3);
                    $(document).find("#btnPac" + i).attr({
                        "idPacote": idPacote
                    });
                }
            }
        });
    });
但它似乎不起作用 idPacote返回未定义的,我不知道为什么,因为我只是给按钮一个“id”,并用“id”本身替换idPacote,它将返回按钮id


对不起,如果这个问题听起来很愚蠢。我在这些方面不是很有经验。

当您使用jQuery时,我建议您使用HTML5数据属性,以便为HTML元素设置指定属性:

<button data-id="1"></button>

进一步改变

<input id=btnPac" + i + "' type='button' name='comprar' value='Comprar Pacote'>

Try$(this),这是获取当前上下文的正常语法您忘记了id:id='btnPac'+i+“'的引号您还没有生成任何
元素来匹配您的
$(“按钮”)
选择器。您是否在代码中没有显示它们,或者您正在尝试选择
im尝试选择特定div中的所有按钮
$('button').data('id', value); //set data-id

$('button').data('id'); //Read data-id
<input id=btnPac" + i + "' type='button' name='comprar' value='Comprar Pacote'>
<button name='comprar'>Comprar Pacote</button>