【发布时间】:2011-03-17 15:33:42
【问题描述】:
我正在使用 jQuery.validate。它的选项之一是“成功”,其中可以在表单上的有效用户输入时调用函数。唯一可以传递的参数是“标签”,它(据我所知)是输入元素右侧动态添加的标签字段。
我需要对兄弟“div”执行一系列操作,但尝试遍历我想要的 div 时遇到了巨大的麻烦。我什至找不到标签在哪里。找到它有诀窍吗?
我使用过诸如alert (label.parents('.formrow').html()); 和alert (label.parent().parent().parent().html()); 之类的东西,它们都返回“null”...alert (label.html()); 返回“”
过去,类似的方法对我有用。一旦我找到东西,我就会使用next() 或find(),一切都很好。还有其他方法吗?
PS。示例代码:
success: function(label) {
errorspotholder = label.parents('.formrow').find('.rederrorx');
errorspotholder.removeClass('rederrorx').addClass('norederrorx').qtip('destroy');
},
【问题讨论】:
-
如果我没记错的话,验证标签会附加到文档的开头(或结尾),并且它们设置为绝对定位,并带有触发验证(或错误)的控件的偏移量.您应该使用 Firebug (getfirebug.com) 并检查您的 HTML 以找到该元素。
-
我刚刚使用了 Firebug,但找不到“标签”的任何位置……您认为有办法将另一个对象传递给 jquery.validate 成功选项吗?例如,元素?我试了一下,它在警报时显示“未定义”。
-
嗨,Marko,您的 Firebug 答案将朝着正确的方向发展。如果您将其发布为答案,我会接受。
标签: javascript jquery jquery-selectors jquery-validate traversal