jQuery对象与dom对象的转换(转)

最近在闲暇时间用jQuery搞了一个多文件上传的东东,顺便写点笔记。html

一直以来对于经过jQuery方式获取的对象使不能直接使用JavaScript的一些方法的,开始的时候不理解,如今此案知道,原来jQuery 得到的对象并不和咱们平时使用getElementById得到的对象是同样的对象。因此一些新手就很迷惑,为何${”#Element”}不能直接 innerHTML,这就是缘由所在,解决方式请看下文。jquery

jQuery对象与dom对象的转换
只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意操做的是dom对象仍是jquery对象。
普通的dom对象通常能够经过$()转换成jquery对象。

如:dom

  1. $(document.getElementById("msg"))

则为jquery对象,能够使用jquery的方法。
因为jquery对象自己是一个集合。因此若是jquery对象要转换为dom对象则必须取出其中的某一项,通常可经过索引取出。
如:htm

  1. $("#msg")[0],$("div").eq(1)[0],$("div").get()[1],$("td")[5]

这些都是dom对象,能够使用dom中的方法,但不能再使用Jquery的方法。
如下几种写法都是正确的:对象

  1. $("#msg").html();
  2. $("#msg")[0].innerHTML;
  3. $("#msg").eq(0)[0].innerHTML;
  4. $("#msg").get(0).innerHTML;
相关文章
相关标签/搜索