相关,但不是修复:jQuery issue - #<an Object> has no method
当我尝试在jquery(doc http://docs.jquery.com/UI/Effects/Highlight)中使用Object [object Object] has no method 'effect'
函数时,我收到错误effect
。它在JSFiddle中运行良好,但是当我在Chrome或IE中运行该站点时,它会出错。 div显示但效果调用会引发错误。
可在此处找到实时版:http://jsfiddle.net/jcollum/HK625/
HTML
<a id=showHowThisWorks >How does this all work?</a>
<div id="howThisWorks" style="display: none; ">
<p>It works fine</p>
</div>
这个coffeescript:
$(document).ready ->
$('#howThisWorks').hide()
$('#showHowThisWorks').click ->
$div = $('#howThisWorks')
$div.toggle();
$div.effect("highlight", {}, 10000)
return
return
在JS中看起来像这样:
$(document).ready(function() {
$('#howThisWorks').hide();
$('#showHowThisWorks').click(function() {
var $div;
$div = $('#howThisWorks');
$div.toggle();
$div.effect("highlight", {}, 6000);
});
});
我已经尝试在该行上使$ div成为jquery选择器而不是使用变量。我试过在$()中包装$ div。我仍然在页面的真实版本上收到错误。 Chrome和IE9的结果相同。显然,我遗漏了一些jquery对象的行为方式。
答案 0 :(得分:10)
我相信jQuery UI没有在本地部署:请查看Firebug / Chrome等进行验证。
.toggle()
是核心jQuery的一部分,.effect()
是jQuery UI的一部分:为了使其不起作用,jQuery UI必须不存在。