0

我正在使用jQuery.validate。其中一种选择是“成功”,即可以在表单上有效用户输入时调用函数。唯一可以传递的参数是“label”(据我所知)是输入元素右侧的一个动态添加的标签字段。找到丢失的jQuery对象的任何技巧?

我需要对兄弟“div”执行一系列操作,但我在尝试遍历我想要的div时遇到了很大的麻烦。我甚至找不到标签在哪里。有没有技巧可以找到它?

我用的东西,如alert (label.parents('.formrow').html());alert (label.parent().parent().parent().html());,他们都返回“空” ...... alert (label.html());返回“”

类似的方法在过去为我工作。一旦我找到一些我然后雇用next()find(),一切都很好。有另一种方法吗?

PS。示例代码:

success: function(label) { 
    errorspotholder = label.parents('.formrow').find('.rederrorx'); 
    errorspotholder.removeClass('rederrorx').addClass('norederrorx').qtip('destroy'); 
      }, 
+1

如果我能够正确记得,验证标签会附加到文档的开始(或结束),并且它们会通过绝对定位进行设置,其偏移量会触发验证(或错误)的控件。 您应该使用Firebug(http://getfirebug.com/)并检查HTML以查找元素。 – Marko 2010-07-18 19:41:05

+0

我刚用过Firebug,找不到“标签”的任何位置......你认为有办法将另一个对象传递给jquery.validate成功选项吗?例如,元素?我试着说它警告“未定义”。 – Kyle 2010-07-18 20:30:53

+0

您好Marko,您的Firebug答案已经朝着正确的方向前进。如果您将它作为答案发布,我会接受它。 – Kyle 2010-07-19 22:00:08

回答

1

这个问题以及由此可能不是很给别人有用位特定情况下,...

,但我就是这样做的,而不是使用“标签”是声明一个全局变量基于另一个来自jQuery.validate的动态选择器(在这种情况下,我使用jQuery.validate的“errorPlacement”中的“元素”)。

它工作。

Marko在通过查看Firebug(getfirebug.com)控制台生成的代码查找丢失元素的评论中也提出了建议。好想法!我没有找到我失去的标签,但它应该已经工作,并可能为别人工作。