所以我想让我的表单起作用。我有两个错误,我无法弄清楚它们究竟发生在哪里。第一个是:
Uncaught RangeError: Maximum call stack size exceeded
e.extend.each
$.extend.ready
$.extend.ready
$.extend.ready... //there are literally 50+ more $.extend.ready scripts below this
这个错误必须处理jquery文件,因为我删除了另外两个以找出它来自哪里,当我删除jquery文件时错误消失了。该文件是jquery-1.7.1min.js。我不能将以后的版本用于我无法控制的目的。
,第二个是:
过多的递归:
if ($.browser.mozilla || $.browser.opera) {
document.removeEventListener("DOMContentLoaded", $.ready, false);...//the first line basically
我在这两个方面都进行了搜索,但问题似乎与我脚本中的错误无关。我有一个表单,我试图运行,我觉得这两个问题可能导致问题。 “清除”和“提交”按钮不起作用,所以试图解决我所知道的问题,这些是我拥有的最后两个。
好的,我发现问题出在哪里:
$(function () { //this is the way to run your code at the DOM Ready event
$('a').click(function () {
$('html, body').animate({ //this is line 8
scrollTop: $($(this).attr('href')).offset().top
}, 1500);
return false;
});
});
那可能是什么呢?SCRIPT5007:无法获取未定义或空引用的属性“top” script.js,第8行9字符
答案 0 :(得分:1)
如果您的href
属性指向使用<a name="foo">
属性的命名锚点(例如name
),则您无法使用#foo
来解析它,因为{{选择器中的1}}匹配 #
属性,而不是 id
属性。
在您的情况下,由于name
不存在,#foo
将生成一个没有$('#foo').offset()
属性的空对象。
你可以:
.top
属性而不是id
,或name
选择器(剥离了前导$([name=...])
)或#
函数存储其他一些元数据,以指向所需的元素。