为什么我用jQuery Validate得到这个JavaScript错误?

Mic*_*ael 7 asp.net-mvc jquery jquery-validate unobtrusive-validation

我在asp.net mvc 5项目中使用jquery.unobtrusive和jquery.validate库来验证客户端的用户注册.

在浏览器上我收到此错误:

Uncaught TypeError: $(...).parents(...).andSelf is not a function
    at Object.parse (jquery.validate.unobtrusive.js:211)
    at HTMLDocument.<anonymous> (jquery.validate.unobtrusive.js:392)
    at mightThrow (jquery-3.1.1.js:3570)
    at process (jquery-3.1.1.js:3638)
Run Code Online (Sandbox Code Playgroud)

我在我的项目中使用jquery 3.1.1.它似乎是版本问题.

任何想法我该如何解决?

Spa*_*rky 13

未捕获的TypeError:$(...).parents(...).和自己不是一个功能

阅读jQuery文档.

"我在我的项目中使用jquery 3.1.1."

.andSelf()方法已从jQuery版本3中删除

它是.addBack()方法的别名,应该使用它.


ram*_*ams 11

就像@Sparky所说,这是因为从NuGet获得的Unobtrusive JS文件(如果使用File-> Visual Studio中的New创建应用程序)使用不推荐使用的andSelf()函数.

要解决,请获取最新版本

jquery.validate.unobtrusive.js jquery.validate.unobtrusive.min.js

https://github.com/aspnet/jquery-validation-unobtrusive/tree/master/dist

并替换项目中的那些.或者从nuget下载/更新退出插件.

更换后确保清除浏览器缓存.(如果使用镀铬,则控制+ F5)