当前位置: 首页 > 图文教程 > 网络编程 > Javascript > jQuery对象和DOM对象相互转化

Javascript
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
(转载)JavaScript中匿名函数,函数直接量和闭包
简单的无缝滚动程序-仅几行代码
Javascript中的数学函数集合
javascript之大字符串的连接的StringBuffer 类
javascript之对系统的toFixed()方法的修正
用javascript实现自定义标签
js在客户端验证密码强度,兼容FireFox和IE
javascript背景颜色按时变换
脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%
javascript语句中的CDATA标签的意义
用javascript实现分割提取页面所需内容
网上抓的一个特效
js之点击 超连接,提示一个层.点击空白.层消失
模拟用户操作Input元素,不会触发相应事件
弹出广告特效代码(一个IP只弹出一次)
(仅IE下有效)关于checkbox 三态
JavaScript Archive Network 集合
关于__defineGetter__ 和__defineSetter__的说明
textContent在Firefox下与innerText等效的属性

Javascript 中的 jQuery对象和DOM对象相互转化


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 287 ::
收藏到网摘: n/a

jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是jQuery独有的,其可以使用jQuery里的方法,但是不能使用DOM的方法;例如$("#img").attr("src","test.jpg"); 这里的$("#img")就是jQuery对象;

DOM对象就是Javascript固有的一些对象操作。DOM对象能使用Javascript固有的方法,但是不能使用jQuery里的方法。例如:document.getElementById("img").src="test.jpg";这里的document.getElementById("img")就是DOM对象;
$("#img").attr("src","test.jpg"); 和document.getElementById("img").src="test.jpg";是等价的,是正确的,但是$("#img").src="test.jpg";或者document.getElementById("img").attr("src","test.jpg"); 都是错误的。

在说一个例子:就是this,我在写jQuery的时候经常这样写:this.attr("src","test.jpg"); 可是就是出错。其实this是DOM对象,而.attr("src","test.jpg") 是jQuery方法,所以出错了。要解决这个问题就要将DOM对象转换成jQuery对象,例如$(this).attr("src","test.jpg");

1.DOM对象转成jQuery对象:

对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)
如:var v=document.getElementById("v"); //DOM对象
var $v=$(v); //jQuery对象
转换后,就可以任意使用jQuery的方法了。

2.jQuery对象转成DOM对象:

两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index);
(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。
如:var $v =$("#v") ; //jQuery对象
var v=$v[0]; //DOM对象
alert(v.checked) //检测这个checkbox是否被选中
(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象
如:var $v=$("#v"); //jQuery对象
var v=$v.get(0); //DOM对象
alert(v.checked) //检测这个checkbox是否被选中