jQuery对象与dom对象的转换

jQuery方式获取的对象使不能直接使用JavaScript的一些方法的,许多人有疑问。

原来jQuery获得的对象并不和我们平时使用getElementById获得的对象是一样的对象。

所以一些新手就很迷惑,为什么$("#Element")不能直接innerHTML。

这就是原因所在,解决方式请看下文。

jQuery对象与dom对象的转换

只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的,调用方法时要注意操作的是dom对象还是jquery对象。

普通的dom对象一般可以通过$()转换成jquery对象。

如:$(document.getElementById("msg"))

则为jquery对象,可以使用jquery的方法。

由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。

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

这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。

以下几种写法都是正确的:

$("#msg").html();

$("#msg")[0].innerHTML;

$("#msg").eq(0)[0].innerHTML;

$("#msg").get(0).innerHTML;

原文地址:https://www.cnblogs.com/magicsky0/p/3383823.html