【问题标题】:Script doesn't run after loaded a html file into a page将 html 文件加载到页面后脚本不运行
【发布时间】:2014-11-19 16:02:22
【问题描述】:

我的页面有问题。 当我单击页面上的链接时,它将在页面的 div 中加载外部 html。 id="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")时运行。但它没有:-( 我能做些什么?是脚本在页面得到&lt;div id="rex"&gt;之前运行的问题吗?

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

图片更清晰

脚本编号 1 建立链接。 当我单击一个链接时,脚本编号 2,让站点加载到 div1。 脚本编号 3 必须用信息填充 div="rex"。但它没有运行。

【问题讨论】:

  • 您的脚本是根本没有被调用还是在某个地方失败了?
  • 你能用 $(document).ready(function(){}) 代替 $('#rex').ready(function(){}) 吗?有什么特别的原因吗?
  • 脚本没有被调用
  • 不,我不能使用它。它不运行:-(
  • 您是否遇到任何错误?这应该可以看到链接jsfiddle.net/e8vyjahv/2

标签: javascript jquery ajax


【解决方案1】:

尝试加载

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

do something

});

【讨论】:

    【解决方案2】:

    尝试使用 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);
    

    【讨论】:

    • 不,dreamweaver 说它不是正确的代码... :-S
    • 以上代码为javascript代码。如果你把它放在 HTML 中,你应该用 包装它
    【解决方案3】:

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

    【讨论】:

    • 有一次我试图包含它,有一次我用 在页面中插入脚本
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多