Jquery 使用ajax加载的html中的脚本不';跑不动

Jquery 使用ajax加载的html中的脚本不';跑不动,jquery,ajax,Jquery,Ajax,我这里有个大问题,我没有选择了。我希望有人能帮助我 我有一个链接(脚本编号1),它在单击一个div后加载一个html文件(single project.html)。我正在使用jQuery(脚本编号2) 但是single-project.html中的3号脚本没有运行。 这里有一张更清晰的图片 这里是脚本编号3,它必须用id rex填充div $('#rex').ready(function() { var url="genredetail.php"; var activityde

我这里有个大问题,我没有选择了。我希望有人能帮助我

我有一个链接(脚本编号1),它在单击一个div后加载一个html文件(single project.html)。我正在使用jQuery(脚本编号2)

但是single-project.html中的3号脚本没有运行。

这里有一张更清晰的图片

这里是脚本编号3,它必须用id rex填充div

$('#rex').ready(function() {
    var url="genredetail.php";
    var activitydetail = sessionStorage.activitydetail;

    $.getJSON(url,function(json){
        $.each(json.genredetail,function(i,item){
            if(item.name == activitydetail){
                $('<p class="excerpt">' + item.beschreibung3 + '</p>').appendTo('#rex');
            }
        });
    });
});

您的脚本在创建元素之前加载,因此您可能可以尝试
$('document')。查找('#rex')并链接下一个函数以执行您必须执行的操作

您正在使用
$。加载
以插入文档片段。根据设计,这不会执行javascript。您可以在中阅读有关加载页面片段和脚本执行的文档

要么将脚本3的内容包含在脚本2的
$.load
回调中,要么将脚本3放在单独的文件中,并在加载HTML片段后立即执行

我认为第一个选项在概念上更容易理解,因此您应该尝试以下方法:

$('#betriebe').on('click', '.ajax-portfolio', function() {
  var url = $(this).attr("href");
  $('.close-ajaxWrapper').css("background-color","white");
  $('.close-ajax img').tooltip();
  $('html, body').animate({scrollTop: ($('#div1').offset().top - 100)},'slow', function(){
    $('#div1').load(url + ' #transmitter', function (){

      // this gets executed as soon as the document fragment
      // has been loaded and inserted
      $('.gallery').slideDown("slow");

      var url="genredetail.php";
      var activitydetail = sessionStorage.activitydetail;

      $.getJSON(url, function(json){
        $.each(json.genredetail, function(i,item){
          if (item.name == activitydetail){
            $('<p class="excerpt">' + item.beschreibung3 + '</p>').appendTo('#rex');
          }
        }); // end $.each
      }); // end $.getJSON
    }); // end $.load

    $('a.close-ajax').click(function(){
      $('.close-ajax img').tooltip('hide')
      $('.close-ajaxWrapper').css("background-color","transparent");
      $('div#filters').slideDown(1000, function(){
        $('div#div1').empty();
      });
      $('html, body').animate({scrollTop: ($('#div1').offset().top - 0)});

      return false;
    }); // end: click a.close-ajax
  }); // end: animate

  return false;

});// end: click .ajax-portfolio
$('betriebe')。on('click','ajax公文包',function(){
var url=$(this.attr(“href”);
$('.close-ajaxWrapper').css(“背景色”、“白色”);
$('.close ajax img').tooltip();
$('html,body').animate({scrollTop:($('div1').offset().top-100)},'slow',function(){
$('#div1')。加载(url+'#发送器',函数(){
//这将在文档片段结束后立即执行
//已加载并插入
$('.gallery')。向下滑动(“慢速”);
var url=“genredeail.php”;
var activitydetail=sessionStorage.activitydetail;
$.getJSON(url,函数(json){
$.each(json.genredeail,函数(i,项){
if(item.name==activitydetail){
$('p class=“extracpt”>'+item.beschreibung3+'

')。附录('rex'); } })//end$。每个 });//end$.getJSON });//end$.load $('a.close-ajax')。单击(函数(){ $('.close ajax img')。工具提示('hide') $('.close-ajaxWrapper').css(“背景色”、“透明”); $('div#filters')。向下滑动(1000,函数(){ $('div#div1').empty(); }); $('html,body').animate({scrollTop:($('div1').offset().top-0}); 返回false; });//结束:单击a.close-ajax });//结束:设置动画 返回false; });// 结束:单击.ajax公文包
Show us script nr.2
$。ready
仅在文档级别有效,而不在元素级别有效:@Spokey外部js文件中没有脚本编号2!哦,是指第三个剧本。如果它在头部,它可能会被JQUERI删除。我看到你正在加载一个文档片段(
load(url+“#transmitter”…
)你确定3号脚本在该片段中吗?我英语不好,这是一个侵权行为。但是谢谢。我会尝试:-)你能给我一个完整的解决方案吗?这不是工作谈判的地方。不过,如果您需要,我可以给您更多提示。我尝试在$('div1').load(url+'.'transmitter',function(){$('gallery').slideDown(“slow”)之后插入函数;但问题仍然存在。你的意思是你已经尝试了我更新答案中的代码?什么不起作用?documen片段是否被拉入?但你的数据没有?你是否查看了浏览器调试器的“网络”部分?(firefox:ctrl+shift+i,chrome:F12)它是否加载片段和数据?
$('#betriebe').on('click', '.ajax-portfolio', function() {
  var url = $(this).attr("href");
  $('.close-ajaxWrapper').css("background-color","white");
  $('.close-ajax img').tooltip();
  $('html, body').animate({scrollTop: ($('#div1').offset().top - 100)},'slow', function(){
    $('#div1').load(url + ' #transmitter', function (){

      // this gets executed as soon as the document fragment
      // has been loaded and inserted
      $('.gallery').slideDown("slow");

      var url="genredetail.php";
      var activitydetail = sessionStorage.activitydetail;

      $.getJSON(url, function(json){
        $.each(json.genredetail, function(i,item){
          if (item.name == activitydetail){
            $('<p class="excerpt">' + item.beschreibung3 + '</p>').appendTo('#rex');
          }
        }); // end $.each
      }); // end $.getJSON
    }); // end $.load

    $('a.close-ajax').click(function(){
      $('.close-ajax img').tooltip('hide')
      $('.close-ajaxWrapper').css("background-color","transparent");
      $('div#filters').slideDown(1000, function(){
        $('div#div1').empty();
      });
      $('html, body').animate({scrollTop: ($('#div1').offset().top - 0)});

      return false;
    }); // end: click a.close-ajax
  }); // end: animate

  return false;

});// end: click .ajax-portfolio