Javascript 未捕获类型错误:无法读取属性';顶部';未定义的
尝试使用按钮转到锚点 我的JS代码是:Javascript 未捕获类型错误:无法读取属性';顶部';未定义的,javascript,jquery,Javascript,Jquery,尝试使用按钮转到锚点 我的JS代码是: function scrollToAnchor(aid){ var aTag = $("a[name='"+ aid +"']"); $('html,body').animate({scrollTop: aTag.offset().top},'slow'); } $("#AsGuest").click(function() { scrollToAnchor('FName_Ship');
function scrollToAnchor(aid){
var aTag = $("a[name='"+ aid +"']");
$('html,body').animate({scrollTop: aTag.offset().top},'slow');
}
$("#AsGuest").click(function() {
scrollToAnchor('FName_Ship');
});
我使用的HTML按钮作为单击按钮:
<input type="Submit" id="AsGuest" class="btn btn-orange" value="CONTINUE AS A GUEST" style="margin-top:5px;"/>
单击后我将要访问的区域:
<input type="text" id="FName_Ship" name="FName_Ship" value="James" onchange="$.ajax( { type: 'GET', dataType: 'json', url: 'dmiajaxsecure.aspx?request=updatedata&fieldname=shipfname&fieldvalue=' + this.value + '&extra=' + rnd() } );" class="valid">
在空jQuery对象上调用时返回
null
。在尝试调用.offset()
方法之前,请选中aTag.length
,很可能锚不存在。在空jQuery对象上调用锚时,返回null
。在尝试调用.offset()
方法之前,请检查aTag.length
,很可能锚点不存在。将a
标记替换为input
,因为它是您实际目标的元素
function scrollToAnchor(aid){
var inputTag = $("input[name='"+ aid +"']");
$('html,body').animate({scrollTop: inputTag.offset().top},'slow');
}
$("#AsGuest").click(function() {
scrollToAnchor('FName_Ship');
});
将
a
标记替换为input
,因为它实际上是您的目标元素
function scrollToAnchor(aid){
var inputTag = $("input[name='"+ aid +"']");
$('html,body').animate({scrollTop: inputTag.offset().top},'slow');
}
$("#AsGuest").click(function() {
scrollToAnchor('FName_Ship');
});
变量
aTag
未定义,请检查aid
的值,并确保jQuery选择器正在获取所需的锚标记,因为这是错误所在。看起来不像锚,更像输入。如果键入$([name='FName\u Ship']),会发生什么情况.length
在页面上输入浏览器JavaScript控制台?$(“输入[name=”+aid+“]”)
@MarkWalters well“aTag”不能是未定义的
本身,因为jQuery不会返回未定义的
。很可能是它是一个空的jQuery对象,因此对.offset()
的调用返回未定义的。变量aTag
未定义,请检查aid
的值,并确保jQuery选择器正在获取所需的锚定标记,因为这是错误所在,看起来不像锚定标记,更像是输入?如果在页面上的浏览器JavaScript控制台中键入$([name='FName\u Ship'])。length
,$([input[name='“+aid+'])
@MarkWalters well“aTag”不能是未定义的
本身,因为jQuery不会返回未定义的
。很可能它是一个空的jQuery对象,因此对.offset()
的调用返回未定义的。