在控制台中运行脚本时,Jquery未定义

时间:2013-06-05 16:08:04

标签: jquery iframe twitter-bootstrap modal-dialog

我遇到一个我正在运行的脚本的问题,假设填充此模式:

<div class="modal hide fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h3 id="myModalLabel">Latest Updates!</h3>
      </div>
      <div class="modal-body">
      </div>
     <div class="modal-footer">
        <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
     </div>   
    </div>  

代码是:

(function($){
    $(document).ready(function(){  
        $('a.updateNotes').on('click', function(e) {
            e.preventDefault();
            var url = $(this).attr('href');
            $(".modal-body").html('<iframe width="100%" height="100%" frameborder="0" scrolling="yes" allowtransparency="true" src="'+url+'"></iframe>');
        });
    });
})(jQuery);

问题是,当我在chrome的控制台中运行该代码时,我得到“未定义”但是代码上没有实际的控制台错误。那就是当页面加载代码时没有引发任何问题,但是如果我在控制台中运行它会得到“未定义”可以有人告诉我我做错了什么吗?创建它的链接是:

<a data-toggle="modal" class="btn btn-success" href="http://adambalan.com/aisis/aisis_update/UpdateNotes/index.html" 
data-target="#modal">
    Learn More!
</a>

如果您转到该实际链接,您会在框中看到我应该看到的内容。框也会扩展以适应内容吗?那是扩展到特定宽度然后滚动更长的时间?

Jquery 1.9.latest,Twitter Bootstrap 2.3.1

注意: Jquery包含在(function($){})(jQuery)中的原因是因为WordPress以及它如何处理Jquery,它不喜欢$因为它使用的其他脚本。 / p>

Upade Jquery版本1.9.1正在页面标题中加载。单击指向源的链接将我带到Jquery 1.9.1源代码。虽然上面显示的代码是html文件的一部分,它是自己的,但它是如何“执行” AFTER 加载jquery 1.9.1

1 个答案:

答案 0 :(得分:0)

查看页面上的来源,抛出undefined错误并检查js加载顺序。

jquery核心文件可能在您的脚本之后加载。

Wordpress,特别是对于插件js代码,可能在你的情况下,需要知道是否存在jquery依赖,因此它可以在插件js之前加载jquery核心文件。

如果您无法更改加载jquery核心文件的顺序,请将js代码向下移动,以便在运行代码时可以使用jquery。