对于已经是一个 DOM 对象,只需要用 $() 把DOM对象包装起来,就可以获得一个 jQuery 对象了,使用[index]和.get(index)可以转为DOM对象

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是定义变量

如: 

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对象 ( $v.get()[0] 也可以 )
alert(v.checked); //检测这个 checkbox 是否被选中
 

通过以上方法,可以任意的相互转换 jQuery 对象和 DOM 对象,需要再强调的是: DOM 对象才能使用DOM 中的方法,jQuery 对象是不可以使用DOM中的方法。

最新文章

  1. Memcached vs Redis
  2. AFNetwork2.0在报错1016,3840的解决方法及一些感悟
  3. IOS密码加密
  4. 手动测试——MTM
  5. Java内存模型的历史变迁
  6. sk_buff 结构分析
  7. error LNK2019: 无法解析的外部符号 ___glutInitWithExit@12,该符号在函数 _glutInit_ATEXIT_HACK@8 中被引用 1>GEARS.obj : er
  8. 【PPT分享】五类常见的用户分析场景
  9. 如何透彻分析Java开发人员
  10. 读汤姆大叔《JavaScript变量对象》笔记
  11. centos 安装atom 笔记
  12. iOS开源加密相册Agony的实现(六)
  13. 基于jQuery实现简单的js模块化
  14. django中models field详解
  15. django新建项目
  16. sku 和 spu
  17. 遇到的问题&思考
  18. Nessus+Metasploit
  19. Ulipad安装、配置使用教程(附Ulipad下载)
  20. 查看iOS沙盒(SanBox)文件

热门文章

  1. systemd初始化进程(转)
  2. 标准输入输出 stdio 流缓冲 buffering in standard streams
  3. 文件系统 - Linux 支持的文件系统类型
  4. Dropout & Maxout
  5. MacOS内核调试环境搭建
  6. jquery简易的三级导航
  7. Sum All Primes-freecodecamp算法题目
  8. BZOJ1576: [Usaco2009 Jan]安全路经Travel(最短路 并查集)
  9. Linux下 tomcat 的开机自启动设置
  10. flask-bootstrap