Javascript 自定义有效性JQuery
我找到了一些教程,这些教程展示了如何使用javascript为表单的输入字段设置自定义错误。例如:Javascript 自定义有效性JQuery,javascript,jquery,html,Javascript,Jquery,Html,我找到了一些教程,这些教程展示了如何使用javascript为表单的输入字段设置自定义错误。例如: document.getElementById('fname').setCustomValidity('Invalid'); $('#fname').setCustomValidity('Invalid'); 然而,如果我尝试使用jquery,这似乎不起作用。例如: document.getElementById('fname').setCustomValidity('Invalid
document.getElementById('fname').setCustomValidity('Invalid');
$('#fname').setCustomValidity('Invalid');
然而,如果我尝试使用jquery,这似乎不起作用。例如:
document.getElementById('fname').setCustomValidity('Invalid');
$('#fname').setCustomValidity('Invalid');
我更喜欢使用JQuery,所以有人能告诉我为什么这不起作用,以及我如何在JQuery中做到这一点。试试这个:
$('#fname')[0].setCustomValidity('Invalid');
setCustomValidity
是一种原生的javascript
方法。因此,获取一个本机javascript对象
,然后调用
$('#fname').get(0).setCustomValidity('Invalid');
更新
那么为什么我总是使用JQuery时不必使用put.get(0)呢。如果可能的话,你能解释一下get(0)吗
问题不在于您是否正在使用
jQuery
。相反,问题是您试图调用一个本机javascript函数,该函数对于jQuery
对象不存在。这就是为什么使用将为您提供本机javascriptDOM
元素,该元素可以访问javascript函数@Tatenda,没问题:)那么为什么我总是使用JQuery时不必使用put.get(0)。如果可能的话,你能解释一下get(0)吗?@melvin,可能你的情况不同。问题的根源是:document.getElementById('fname')==$('fname')[0],这是正确的。