在ajax成功函数中访问动态div id

时间:2014-12-30 09:47:38

标签: php jquery ajax

我正在使用ajax从php服务器接收数据。数据以json格式接收。为了显示这些数据,我创建了具有唯一ID的动态div。我已经在已经结构化的html中添加了动态div。

现在在使用("#"+dynamicid).html("data")吐出数据时,我无法获得所需的输出。

以下是代码:

$.ajax({
        url: "loader.php",
        dataType: "json",
        success: function(data) {
            var i = "kmapN"+data.id;
            $('<div class="kmapName">').append($('<div id="'+ i +'">'))
                                       .append($('</div></div>'))
                                       .appendTo('.new_content');
            $("#"+i).html(data.kname);
            }
      });

这是服务器的json输出:

{"id":2,"kname":"This is the title!"}

EDIT1: 如果我不使用动态ID,我会得到结果。因此问题在于生成和访问动态ID。

EDIT2: 这里的想法是通过使用jquery的(“#”+ id).html(“output”)函数来防止javascript和html注入攻击。

2 个答案:

答案 0 :(得分:0)

试试这个

  $('.kmapName').append('--Output you want to be rendered ---');

答案 1 :(得分:0)

必须定义dataType

创建动态div并将变量附加到主div

.ajax({
        url: "loader.php",
        dataType:'json',
        success: function(data) {

          var i = "kmapN"+data.id;
          var new_div ='<div class="kmapName"><div id="'+ i +'">'+ data.kname +'</div></div>';

            $(".new_content").append(new_div);

        }
    });