jquery对象和javascript对象相互转换
本文转载:http://jeiofw.blog.51cto.com/3319919/786506
jQuery 对象是通过 jQuery 包装DOM 对象后产生的对象。jQuery 对象是 jQuery 独有的,其可以使用 jQuery 里的方法,但是不能使用 DOM 的方法;例如: $("#img").attr("src","test.jpg"); 这里的 $("#img")就是 jQuery 对象。
DOM对象就是Javascript 固有的一些对象操作。DOM 对象能使用Javascript 固有的方法,但是不能使用 jQuery 里的方法。例如:document.getElementById("img").src=\'#\'" ) 就是DOM 对象。
$("#img").attr("src","test.jpg"); 和 document.getElementById("img").src=\'#\'" 是等价的,是正确的,但是 $("#img").src=\'#\'" ;或者 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中的方法。
相关文章
- jquery中事件委派代码分析以及jQuery中delegate和on的用法与区别详细解析
- [JQuery] jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式
- Bootstrap3.0学习第十七轮(JavaScript插件——模态框)
- [Javascript] Filter out Duplicates from Flat JavaScript Array with array.filter / reduce / Set
- [Javascript] Wait for the Fastest JavaScript Promise to Be Fulfilled with Promise.any()
- [Javascript] Hide Properties from Showing Up in "for ... in" Loops in JavaScript
- [Javascript] Create Your First Iterator in JavaScript
- [Javascript] Create an Image with JavaScript Using Fetch and URL.createObjectURL
- [Javascript] Avoiding Mutations in JavaScript with Immutable Data Structures
- [Javascript] Await a JavaScript Promise in an async Function with the await Operator
- [Javascript] Iterate Over Items with JavaScript's for-of Loop
- [Javascript] JavaScript Array Methods in Depth - push
- 一个JavaScript Function Outliner插件 第三个版本 让你的JavaScript代码也支持折叠
- [Javascript] Avoid Nested For Loops with Generators
- [Javascript] Create an Image with JavaScript Using Fetch and URL.createObjectURL
- [Javascript] An Introduction to JSPM (JavaScript Package Manager)
- javascript 闭包
- javascript:每次只加载3个页面的幻灯(chrome 105.0.5195.125)
- Javascript面向对象编程
- javascript中的this
- 从零开始学_JavaScript_系列(12)——jquery<2>(高度自适应,哈希地址及检测,单页面技术)
- JavaScript基础&实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
- JavaScript学习总结(四)——this、原型链、javascript面向对象
- JavaScript和JQuery获取DIV的值
- chromium-embedded-how-to-execute-a-javascript-callback-from-c
- 白学jquery Mobile《构建跨平台APP:jQuery Mobile移动应用实战》连续7-电话问卷调查
- 基于JavaScript水果库存系统主页面操作