jQuery选择器(来自一个插件)在jsFiddle中工作,但不是真正的页面?

时间:2012-05-21 20:30:16

标签: jquery html plugins

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

HTML

JSFiddle

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

这里有什么我想念的吗?

1 个答案:

答案 0 :(得分:4)

这种情况正在发生,因为在您的页面上,您不是在等待DOM准备就绪,而是在运行$.salsaform();之前。

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

将您的脚本更改为:

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

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

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