Javascript 如何使用JQuery对输入标记执行HTML5验证?对这种情况有些怀疑

Javascript 如何使用JQuery对输入标记执行HTML5验证?对这种情况有些怀疑,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我对JQuery非常陌生,在验证HTML5输入标记时发现了一些困难 因此,在我的页面中,我有以下输入标记: <input id="variazioneAnticipo" class="rightAlligned form-control" style="width:50%" type="number" step="0.01" /> 在这里我遇到了问题,因为以前的JQuery脚本无法工作,在FireBug控制台中,我获得了以下错误消息: TypeError: $(...).check

我对JQuery非常陌生,在验证HTML5输入标记时发现了一些困难

因此,在我的页面中,我有以下输入标记:

<input id="variazioneAnticipo" class="rightAlligned form-control" style="width:50%" type="number" step="0.01" />
在这里我遇到了问题,因为以前的JQuery脚本无法工作,在FireBug控制台中,我获得了以下错误消息:

TypeError: $(...).checkValidity is not a function
alert($('#variazioneAnticipo').checkValidity());
但使用JavaScript似乎是可行的,通过这种方式:

document.getElementById('variazioneAnticipo').checkValidity(); 
我认为这可能取决于这样一个事实,即checkValidity()不是$('variazionenticipo')JQuery选择器返回的对象的函数,而只是纯JavaScriptdocument.getElementById('variazionentipo')选择器的函数

还是我遗漏了什么?我认为两者都返回具有特定ID的HTML元素,并且checkValidity()函数适用于此HTML对象,无论是使用JQuery还是纯JavaScript检索。但似乎并非如此。我错过了什么


如何使用JQuery而不是代码中的纯JavaScript执行HTML5验证?

目前,JQuery的包装器中没有直接的HTML5验证api。但您可以通过以下方式访问本机对象:

$('#variazioneAnticipo')[0]
所以你可以写:

$('#variazioneAnticipo')[0].checkValidity();

当您选择
$(“#variazionenticipo”)
时,您会得到一个节点集合,要访问实际的DOM属性,您必须选择第一个。

是的,您是对的
$(“#variazionenticpo”)
返回一个jQuery对象,该对象没有方法
checkValidity
。。。。它是
HTMLFormElement
objectHi Andrea的成员,两者都返回非常不同的对象。试试这个try
警报(this.checkValidity())
您可以执行
$('variazionenticipo')[0]。checkValidity()
-其中
$('variazionenticipo')[0]
将返回dom元素引用。我猜您也可以在回调中使用
this
获得它。是的,它将在回调中工作。但并非所有地方都如此。
$('#variazioneAnticipo')[0]
$('#variazioneAnticipo')[0].checkValidity();
$('#variazioneAnticipo')[0].checkValidity()