提供对默认插件设置的公共访问:除非将jquery插件移动到元素末尾,否则它不会工作?

提供对默认插件设置的公共访问:除非将jquery插件移动到元素末尾,否则它不会工作?,jquery,jquery-plugins,boilerplate,domready,jquery-1.9,Jquery,Jquery Plugins,Boilerplate,Domready,Jquery 1.9,我不明白为什么我会得到下面两个不同的结果。我使用最传统的jquery插件模式 但是我不能得到正确的结果。然后,如果我将默认值作为方法的一部分,我会得到正确的结果-为什么 html 准备好了吗 $().hilight({setup:{tester1: "x"}}); 结果, Object[] // for --> var o = $.extend(true, {}, $this[pluginName].defaults, options ); Object[div.hello1] // -

我不明白为什么我会得到下面两个不同的结果。我使用最传统的jquery插件模式

但是我不能得到正确的结果。然后,如果我将
默认值作为
方法的一部分,我会得到正确的结果-为什么

html

准备好了吗

$().hilight({setup:{tester1: "x"}});
结果,

Object[] // for --> var o = $.extend(true, {}, $this[pluginName].defaults, options );
Object[div.hello1] // --> var o = $this[pluginName]('defaults',options);
两者都应该是
对象[div.hello1]

有什么想法吗

编辑:


只有当我在页面末尾或元素之后移动插件时,它才会起作用-为什么??如果我想将插件放在页面标题中,如何使其工作良好?

这是因为DOM还没有准备好

尝试使用以下内容包装您的插件调用:

$(document).ready(function() {
  $().hilight({setup:{tester1: "x"}});
});

谢谢你的回答。我确实用
$(document).ready(function()
window onload
包装了它,但一点运气都没有!
$().hilight({setup:{tester1: "x"}});
Object[] // for --> var o = $.extend(true, {}, $this[pluginName].defaults, options );
Object[div.hello1] // --> var o = $this[pluginName]('defaults',options);
$(document).ready(function() {
  $().hilight({setup:{tester1: "x"}});
});