0

对于我的生活,我无法弄清楚为什么尝试通过 jQuery 全局对象选择一个元素在 jsFiddle 中有效,但在普通页面上无效。

HTML

JSFiddle

一段时间以来,我一直在努力解决这个问题,构建一个更大的插件,并最终将其缩小到这个奇怪的差异。

我在这里缺少什么吗?

4

1 回答 1

4

发生这种情况是因为在您的页面上您没有等待 DOM 在运行之前准备好$.salsaform();

jsFiddle 将您的代码放在一个onLoad处理程序中,因此它会在 DOM 准备好后运行。

将您的脚本更改为:

(function ($) {
  $.salsaform = function () {
    console.log($('#foo'));
  };
})(jQuery);

$(function(){
    $.salsaform();
});

$(function(){...})DOM 准备好后运行您的代码。

于 2012-05-21T20:33:21.440 回答