将html文件加载到页面后,脚本不会运行

时间:2014-11-18 13:49:59

标签: javascript jquery ajax

我的页面有问题。 当我点击我页面上的链接时,它会在页面中的div内加载一个外部html。 div =“div1”的div。 (AJAX)

完美无缺。

已加载的外部html页面包含id =“rex”的div。

我的问题是:

我有一个脚本,必须在div中添加内容(id =“rex”) 我在外部文件中编写了脚本,但它没有运行。 可能我必须在页面中编写我的脚本,而不是在外部html文件中。

脚本编号3:

$('#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');
            }
        });
    });
});

此脚本必须在加载外部文件(div id =“rex”)时运行。但它没有:-( 我能做什么?脚本在页面获取<div id="rex">之前运行的问题是什么?

提前致谢,对不起我的坏英语:-S

更清晰的图片 enter image description here

脚本编号1生成链接。 当我点击链接时,脚本编号为2,让网站加载到div1中。 脚本编号3必须用信息填充div =“rex”。但它没有运行。

3 个答案:

答案 0 :(得分:1)

试试onload

$('div').on("load","#rex",function() {

do something

});

答案 1 :(得分:0)

尝试使用setInterval,因此每0.5秒检查一次元素rex

var myInterval = setInterval(function(){
            if ($("#rex").length)
            {
                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');
                clearInterval(myInterval);
            }
    }, 500);

答案 2 :(得分:0)

如果脚本已经加载,则需要重新加载脚本。正如你所说你在div中加载外部html,它是否包含你正在使用的外部js文件?如果没有请包括它。