找到丢失的 jQuery 对象有啥技巧吗?
Posted
技术标签:
【中文标题】找到丢失的 jQuery 对象有啥技巧吗?【英文标题】:Any tricks to finding a lost jQuery object?找到丢失的 jQuery 对象有什么技巧吗? 【发布时间】: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 答案将朝着正确的方向发展。如果您将其发布为答案,我会接受。 【参考方案1】:这个问题有点针对具体情况,因此对其他人可能不是很有用...
但是我没有使用“标签”,而是根据来自 jQuery.validate 的另一个动态选择器声明一个全局变量(在这种情况下,我使用了来自 jQuery.validate 的“errorPlacement”的“元素”)。
成功了。
Marko 还建议在 cmets 中通过查看 Firebug (getfirebug.com) 控制台生成的代码来查找丢失的元素。好点子!我没有找到我丢失的标签,但它应该有效,并且可能对其他人有效。
【讨论】:
以上是关于找到丢失的 jQuery 对象有啥技巧吗?的主要内容,如果未能解决你的问题,请参考以下文章