jQuery对象与DOM对象的相互转化

  • A+
所属分类:Web前端
摘要

原因是 在 jQuery 对象中无法使用 DOM 对象的任何方法,如 $(“p”).innerHtml 是错误的,因为它的写法是 $(“p”).html() 。同样,DOM 对象中也不能用 jQuery 对象中的方法,如 document.getElementsByTagName(“p”).html() 是错误的。


jQuery对象和DOM对象都是获取到的页面节点对象,为什么还需要相互转化呢?

原因是jQuery 对象中无法使用 DOM 对象的任何方法,如 $("p").innerHtml 是错误的,因为它的写法是 $("p").html()。同样,DOM对象中也不能用 jQuery 对象中的方法,如 document.getElementsByTagName("p").html() 是错误的。

1、jQuery 对象转化为 DOM 对象

jQuery对象如果想要用 DOM 对象中的方法,就需要转化为 DOM 对象。jQuery对象转化为 DOM 对象有两种方式,代码如下:

var $test = $("test"); var test = $test[0];   // jQuery对象是一个数组,可以通过索引得到 DOM 对象

或者:

// 用jQuery提供的get(index) 方法得到 DOM 对象 var test = $test.get(0)'

2、DOM 对象转化为 jQuery 对象

同理,DOM 对象如果想要用 jQuery 对象中的方法,DOM 对象就需要转化为 jQuery 对象。DOM 对象转化为 jQuery 对象代码如下:

var test = document.getElementById("p"); var $test = $(test);  // 用jQuery 的工厂方法