javascript - 如何让现有的 jQuery 选择将 html 作为字符串插入到 div 中

标签 javascript jquery html ajax dom

我有这样的 jQuery 代码,它使用类名作为文档中已存在的选择器:

jQuery(".rego-close").click(function(){
    //on-click events       
});

然后我有一个 ajax 请求,它生成一个大的复杂 html 字符串,并通过 html() 函数将其放入 div 中:

jQuery.ajax({
      type: "POST",
      url: "outputscript.php?event_id="+var1+"&course_id="+var2,
      dataType: "html",
      success: function(data, textStatus, jqXHR){
           jQuery("#data_target_div").html(data);
           //outputs stuff like: "<div class='something' id='something1'><div><a href='#' data-customAttribute='monkey'>Complex html</a><i>stuff</i></div></div>"
      }
});

html 正确加载到 div 中,但是我的 jQuery 选择器不会定位新生成的 html 中的内容。

过去我使用事件委托(delegate)来定位新内容,例如:

$('.container').on('click','.remove',function(){
    alert("remove");
}); 

但是我的代码太多了,无法回去重写所有内容。

有没有一种简单的方法可以将大型、多嵌套的 HTML 字符串添加到 DOM,以便现有的 jQuery 代码能够定位其中的元素?

谢谢

最佳答案

看看这个黑客是否有效 -

jQuery.ajax({
      type: "POST",
      url: "outputscript.php?event_id="+var1+"&course_id="+var2,
      dataType: "html",
      success: function(data, textStatus, jqXHR){

      var scr = '<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>'; //jQuery library
      jQuery('body').prepend(scr); //recall library

           jQuery("#data_target_div").html(data);
           //outputs stuff like: "<div class='something' id='something1'><div><a href='#' data-customAttribute='monkey'>Complex html</a><i>stuff</i></div></div>"
      }
});

关于javascript - 如何让现有的 jQuery 选择将 html 作为字符串插入到 div 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27615056/

相关文章:

javascript - *日历程序* 无法为该日历程序编写循环以正确显示

javascript - 内部带有按钮或跨度的输入字段

javascript - 当屏幕宽度 > 700px 时隐藏 JavaScript?

javascript - JQuery:基于行的表行显示/隐藏

javascript - 如何在 Event 对象冒泡之前将其附加到 Event 对象?

html - CSS3 - 溢出 :hidden fixes the height?

html - 消除输入文本和按钮css之间的差距,并放在相同的高度

javascript - 如何理解 Javascript Redux 中间件中的这种语法

javascript - 如何向 Fancy Box Loader 添加文本

javascript - angularjs ng-options 嵌套变量