大家看到这个题目就想知道为啥要相互转化呢,一般的时候是不需要转化的,转化的原因是因为在Jquery对象中无法使用DOM对象的任何方法,比如$(“p”).innerHtml就是错误的,因为他的写法是$(“p”).html()。同样的DOM对象中也不能用Jquery对象中的方法,如document.getElementsByTagName(“p”).html()就是错误的。
1.首先我们要DOM对象和Jquery对象各自的定义,DOM对象又叫做文档对象模型,我们也可以称其为DOM树,因为他就像一颗树一样,有很多的枝枝蔓蔓,如下所示就是一个DOM树的形状
2. 在上面的DOM树中, ul, li都是DOM元素节点。我们如果想使用这个对象,那么就要获取对象。怎么获取,很简单,JavaScript中提供了两个常用方法: getElementsById,getElementsByTagName,比如我们要获取ul元素节点,就可以这样写了:document.getElementsByTagName(“ul”); 这就是一个DOM对象
3.那什么是Jquery对象,我们知道Jquery是对Javascript的封装。很显然Jquery对象就是对JavaScript中DOM对象的封装。用Jquery的话就不需要写document.getElementByID这样的长单词了,一个$符号就代替了,例如获取ul节点,也可以这样写:$(“ul”)
4.Jquery怎么转化为DOM对象。Jquery对象如果想要DOM对象中的方法,这个时候需要转化为DOM对象。比如上面的JQUERY对象$(“ul”)转化DOM对象可以这样写:$(“ul”)[0]或者$(“ul”).get(0)
5. 那DOM对象又如何转化为Jquery对象?很简单,比如上面的document.getElementsByTagName(“ul”)只需要将其包裹在$()里就可以了:$( document.getElementsByTagName(“ul”))