遇到了一个重置表单问题:就是如何使用jQuery方法重置form表单。
一开始我以为是:
$('#formName').reset()
执行后发现不行,网上给出的答案是使用
$('#formName')[0].reset();
虽然可以,但是我瞬间不懂了,为什么是这样写。赶紧把前端架构师叫过来问了问了。
大神随便打开了一个页面,然后随便复制了一个div中的id值。如图:
再重复一遍,是随便打开一个浏览器页面。
然后切换到Console页面,再输入:
$('#article_details')//$('#id')
原来我们每次通过jQuery选择器得到的都是数组
$('#id')//得到的是数组
$('.class')//得到的是数组
这也是为什么jQuery调用reset方法要这样写:
$("#id")[0].reset()
这个时候$("#id")[0]
得到的是jQuery
对象。
注意:这种方式虽然可以重置表单,但是不能重置隐藏字段。隐藏字段要单独处理
小知识:$('#id').get(0)
得到的是DOM
对象。
感谢公司的前端架构师的指点!