为什么'$(“#form”)[0] .reset();'作品和'$(“#form”)。reset();'不?

时间:2016-07-04 09:02:58

标签: jquery forms reset

我在网页中使用表单重置方法

$("#form")[0].reset();

但是当我像下面那样使用它时

$("#form").reset();

它给了我错误。

为什么第一种方法有效,后者则不然?

我的页面工作正常。但我想了解其背后的原因。解决方案无处不在。但他们都没有描述背后的原因。

注意:我检查了here,它显示了很多答案。没有明确定义原因。

3 个答案:

答案 0 :(得分:6)

jQuery选择器方法可以返回多个元素,因此行为是为了一致性而返回一个数组。此数组是可以对该选择进行操作的其他jQuery方法的包装器,但是操作经典DOM函数需要处理特定元素。

你可以这样做,[0]取出第一个,或者你可以迭代它们:

$('#form').each(function() { this.reset() });

答案 1 :(得分:4)

因为reset()方法是HTML表单元素的成员:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset

并不是jQuery对象提供的方法,jQuery对象是选择器的0个或更多匹配元素的集合(#form

答案 2 :(得分:1)

我认为原因很简单,就是使用javascript

强行使用Jquery函数

.reset()不是Jquery本机函数。它是Javascript函数,我们在Jquery

中强制使用它