我有一个隐藏的
元素,其中包含整个表单的特定错误消息。在提交表单之前,我运行一个验证例程来检查所有必填字段是否填写了一些文本。如果没有填写,则会显示一个带有“redAlert”类的
元素,位于文本字段的正上方。当显示错误消息时,我还希望对话框窗口滚动到此位置。我知道有很多可用于执行此操作的插件,但我想使用简单的Jquery来完成它。我试图A)找到具有“redAlert”类的第一个可见的
元素,B)通过调用该
元素的.offset()方法找到其位置,然后C)在window对象上调用.scroll()方法,但我做不到。请让我知道是否我完全错过了什么,或者我的语法不正确(我经常发现自己与Jquery的语法错误)。以下是我的代码。
另外,这仅查找可见的
元素(假设每次只有一个错误
元素),请提供查找特定类别中第一个可见的
元素的选择器。
var errorDiv = $('.redAlert:visible').attr("id");
var scrollPos = $("#"+errorDiv ).offset();
//alert(scrollPosition); // This alert always says 'null', why ?
$(window).scroll(scrollPos);
//Also tried scrollTo();
非常感谢您提前的帮助。