我是JavaScript和jQuery的新手。我的问题是这个。
我的文档中有两个标识为id1
和id2
的表单。表单有一个validate
方法(来自jQuery validate模块)。
当我这样做时:
$(#id1).validate()
......它有效。但是当我这样做时:
$('form[id^="id"]')[0].validate()
......它说TypeError: Object #<HTMLFormElement> has no method 'validate'
。这对我来说很奇怪,因为我在同一个对象上调用validate
。
答案 0 :(得分:1)
它们是不同的对象,因为在第二个示例中,您在索引0
处提取DOM元素...
// v------returns jQuery object
$('#id1').validate()
// v------returns jQuery object
$('form[id^="id"]')[0].validate()
// ^----------extracts the DOM element
正确的等价物是......
$('form[id^="id"]').validate()
......或者如果你只想要第一个元素......
$('form[id^="id"]').eq(0).validate()