网站设计中前端的朋友常常遇到一个小问题,本来想实现的是说:input文本框中要有数据才可以提交,但是如果没有数据的话,就提示需要输入信息,然后自动获取焦点。也就是DOM对象和Jquery对象的问题。
如果这是在纯js的环境下,很简单,就用.focus()就可以了。但是在jQuery中会遇到一些问题:
如果使用focus()函数触发每一个匹配元素的focus事件。这将触发所有绑定的focus函数。所以但我们使用这个方法$("#input")返回的就不是DOM对象,而是JQuery对象。
但是JQuery中也有提供很好地方法将一个JQuery对象转化为一个DOM对象:
$(”#Input”)[0].focus();
这样这个问题就能都都解决了。
补充一下:什么是DOM对象?什么是JQuery对象?
DOM对象,即是我们用传统的方法 (javascript)获得的对象, jQuery对象即是用 jQuery类库的选择器获得的对象。注意:在jQuery对象中无法使用DOM对象的任何方法。同样,DOM对象也不能使用jQuery方法。
两种对象之间可以相互转化,将一个JQuery对象转化为一个DOM对象:有两种方法即[index]和get(index),将一个DOM对象转化为一个jQuery对象:只需要用$()把dom对象包装起来,就可以获得一个jquery对象了。