javascript - 如何从动态生成的 html 中捕获属性 id?

标签 javascript html jquery

我很确定这并没有那么复杂,但我已经花了好几个小时试图弄清楚如何捕获这个动态生成的 anchor 标记的 ID。

我在我的代码中所做的是,每次文本输入发生变化时,都会有一个 ajax 请求转到一个 php 文件并返回一个包含价格的 json 数组,然后我在按钮中呈现这个搜索结果,这些按钮可以点击做其他类型的请求,但到目前为止,这是我卡住的地方。

这是循环遍历数组并呈现此按钮的代码(注意:按钮的 Id 也是函数呈现的变量。

$.ajax({
       type: "POST",
       url: "php/get_products.php",
       data: {query:prod_qry},
       success: function(data){
       $('#loader_s').hide();
       var jsarray = JSON.parse(data);
       var length = jsarray.length;
           for(i=0;i<jsarray.length;i++){
                        var index1 = i;
                        var index2 = Number(i++) + 1;
                                var index3 = Number(i++) + 2;
                                $('#modal-bod').append('<a onclick="renderProds();" class="btn btn-default-item prod_sel" style="margin-top:10px;" id="'+index3+'" data-dismiss="modal">'+jsarray[index1]+' <span class="pull-right" st>lps. '+jsarray[index2]+'</span></a>');
                            }
                        }    

然后是函数renderProds()

function renderProds(){
                var id = $(this).attr('id');
                alert(id);
           }

警报只是为了测试目的而 try catch 值,但真正发生的是另一个 Ajax 请求。

我得到的唯一信息是 var Id 未定义...

最佳答案

你可以像这样传递对象

function renderProds(obj) {
    var id = obj.id;
    alert(id);
}

像这样传递调用者对象

 onclick="renderProds(this);"

关于javascript - 如何从动态生成的 html 中捕获属性 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20932021/

相关文章:

javascript - querySelectorAll 循环 "undefined"

html - jar 宽度:auto expand the div beyond screen width

JavaScript 阻止提交按钮工作

javascript - 如何获取带有字符串的元素,无论它是否对应于其类或 ID?

html - 在 DIV 中居中图像 Y 和 X

javascript - jQuery 从数组中多个元素的类属性中获取值,无需循环

javascript - setInterval 滞后于我的页面

javascript - 返回 Android 设备的模态窗口显示 'Web page not available'

IE 中的 JavaScript : 'this' keyword refers to window object (? )

javascript - jquery初始化多个选项卡