【问题标题】:Jquery Undefined when running script in console在控制台中运行脚本时Jquery未定义
【发布时间】:2013-06-05 16:08:04
【问题描述】:

我正在运行的一段脚本存在问题,该脚本应该填充此模式:

<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,它不喜欢 $ 因为它使用了其他脚本。

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

【问题讨论】:

  • 那是因为 jquery 真的是 undefined.. 如果你想让 jquery 在控制台中的上下文中,你必须在开始输入你自己的代码之前粘贴整个 jquery.js 代码
  • @passionateCoder:如果页面先加载了 jQuery,它将在控制台中正常运行。在这个例子中不清楚他是否先加载它,在 dom 就绪块之前。
  • 它对我来说从来没有这样@MaxWilliams。 . #在 Chrome 23 上测试
  • 请参阅更新的 OP @passionateCoder

标签: jquery iframe twitter-bootstrap modal-dialog


【解决方案1】:

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

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

Wordpress,尤其是插件 js 代码,可能在您的情况下,需要知道是否存在 jquery 依赖项,以便它可以在插件 js 之前加载 jquery 核心文件。

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

【讨论】:

  • Jquery 版本 1.9.1 正在页面标题中加载。单击源代码的链接将我带到 Jquery 1.9.1 源代码。请参阅更新的 OP
  • @TheWebs 你有我们可以看到的完整测试页面吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-25
  • 1970-01-01
  • 2016-04-04
  • 2015-01-16
  • 2010-10-26
  • 2013-09-03
相关资源
最近更新 更多