对于我的生活,我无法弄清楚为什么尝试通过jQuery全局对象选择一个元素在jsFiddle中工作,而不是在普通页面上。
我一直在努力解决这个问题一段时间来构建一个更大的插件,并最终将其缩小到这种奇怪的差异。
这里有什么我想念的吗?
答案 0 :(得分:4)
这种情况正在发生,因为在您的页面上,您不是在等待DOM准备就绪,而是在运行$.salsaform();
之前。
jsFiddle将您的代码放在onLoad
处理程序中,因此一旦DOM准备好就会运行。
将您的脚本更改为:
(function ($) {
$.salsaform = function () {
console.log($('#foo'));
};
})(jQuery);
$(function(){
$.salsaform();
});
{DOM}准备就绪后,$(function(){...})
运行您的代码。