为什么 '$("#form")[0].reset();'作品和 '$("#form").reset();'不是?
Why '$("#form")[0].reset();' works and '$("#form").reset();' not?
我在我的网页中使用如下表单重置方法
$("#form")[0].reset();
但是当我像下面这样使用它时
$("#form").reset();
它给我错误。
为什么第一种方法有效而后一种方法无效?
我的页面运行良好。但我想知道背后的原因。解决方案无处不在。但是 none 他们描述了背后的原因。
注意: 我检查了 here,它显示了很多答案。没有明确说明原因。
因为reset()
方法是HTML表单元素的成员:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset
而不是 jQuery 对象提供的方法,该对象是您的选择器 (#form
)
的 0 个或多个匹配元素的集合
jQuery 选择器方法可以 return 多个元素,因此为了保持一致性,行为是 return 一个数组。该数组是其他 jQuery 方法的包装器,可以对该选择进行操作,但操作经典 DOM 函数需要处理特定元素。
你可以像以前那样做,用 [0]
拉出第一个,或者你可以迭代它们:
$('#form').each(function() { this.reset() });
我认为原因很简单,它是为了使用 Jquery
强制执行 javascript
函数
.reset()
不是 Jquery 本机函数。这是一个 Javascript
函数,我们在 Jquery
中强制使用它
我在我的网页中使用如下表单重置方法
$("#form")[0].reset();
但是当我像下面这样使用它时
$("#form").reset();
它给我错误。
为什么第一种方法有效而后一种方法无效?
我的页面运行良好。但我想知道背后的原因。解决方案无处不在。但是 none 他们描述了背后的原因。
注意: 我检查了 here,它显示了很多答案。没有明确说明原因。
因为reset()
方法是HTML表单元素的成员:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset
而不是 jQuery 对象提供的方法,该对象是您的选择器 (#form
)
jQuery 选择器方法可以 return 多个元素,因此为了保持一致性,行为是 return 一个数组。该数组是其他 jQuery 方法的包装器,可以对该选择进行操作,但操作经典 DOM 函数需要处理特定元素。
你可以像以前那样做,用 [0]
拉出第一个,或者你可以迭代它们:
$('#form').each(function() { this.reset() });
我认为原因很简单,它是为了使用 Jquery
javascript
函数
.reset()
不是 Jquery 本机函数。这是一个 Javascript
函数,我们在 Jquery