找到丢失的 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 对象有啥技巧吗?的主要内容,如果未能解决你的问题,请参考以下文章

MDRoundFlatIconButton 在禁用后启用时会丢失背景颜色。有啥修复吗?

手机文件丢失恢复技巧大汇总 安卓苹果数据丢失都可恢复

Valgrind:可能丢失可以被视为绝对丢失吗?

将多个元素附加到 DOM 的 jquery 会丢失排序顺序

jquery ajax加载后丢失css

有啥方法可以打印 rmarkdown 表而不丢失颜色?