javascript - jQuery 验证语法错误,无法识别的表达式 : label[for=]

标签 javascript jquery

从旧版本的 jQuery (1.10.2) 升级到 jQuery 3.1.1 后,我遇到了错误“语法错误,无法识别的表达式:label[for=]”。我还将 jQuery.validate 插件升级到版本 1.15.1。

这类似于其他“语法错误,无法识别的表达式:标签...”类型的问题,但我相信它的独特性足以证明它自己的条目是正确的。多次在线搜索此消息并没有引导我找到我偶然发现的解决方案(如下)。

从下拉字段中选择是/否值后单击表单上的任何字段时会发生错误,这会稍微改变 UI。

最佳答案

在我的例子中,错误是在 jQuery 验证器的 onfocusout 中触发的。这是因为失去焦点的元素/字段没有 ID(错误消息几乎清楚地表明了这一点,如果你仔细想想的话)。

在一个相对简单的表单上,失去焦点的字段是一个不重要的触发器(通过 jQuery 类选择器)。该字段本身不需要任何验证。

向该字段添加一个 ID 解决了这个问题。

另一种解决方案是使用忽略:jQuery 验证插件的功能。

关于javascript - jQuery 验证语法错误,无法识别的表达式 : label[for=],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42403041/

相关文章:

jquery - 重叠切换问题

javascript - 如何使用javascript调用其他javascript(如这段代码)?

javascript - jScroll.js 与 Laravel 5 : nextSelector not found - destroying

javascript - RequireJS:如何定义包含单个 "class"的模块?

javascript - 如何显示整个数据库

javascript - 如何在 Json 数组中存储 firebase 响应

javascript - 找出 <td> 元素内 <span> 元素的数量

javascript - 如何将现有 ul 的所有 li 添加到另一个基于其 css 类的 ul 的底部

jquery - 如何创建一个返回另一个对象的 jQuery 函数?

javascript - 如何使用 Jquery 停止 DIV 在其下方表格之外的显示?