您的位置:首页 > Web前端 > JQuery

jQuery对象和原生JavaScript对象不能混用的问题及其相互转化

2017-02-28 15:35 573 查看
欢迎来到Altaba的博客 2017年2月28日14:09:57

相信大家在使用jQuery时候会发现

jQuery实在是太方便了

封装了好多方便的方法提供调用

我们需要实现什么后台逻辑或者判断的时候

直接拿来就用,真是懒人的必备啊

但是用多了你会发现

你在用jQuery选中的对象去调用JavaScript原生的方法时候会报错

用JavaScript选中的DOM对象也是调用不了jQuery的方法,即使是引用进了jQuery框架

这是为什么呢?

你可以这样想 :

jq获取dom是通过
$()
方法,这是jq封装好了的。但是你通过 creatElement的方法获取的dom元素,明显跟
$()
获取到了的dom元素不是同一个,jq里面提供的方法是给 $()对象提供的,而原始的JavaScript获取的元素里面是没有那些方法的,所以压根就是两个对象,怎么能互相调用。

jquery的所有方法都在jquery对象上,当然不能被dom对象调用。

jQuery暴露出来的只有静态方法与实例方法,不可能访问闭包内部的其他东西

不过通过转化两者还是可以使用的:

例如:

var $cr=$("#cr");//jq对象
var cr=$cr.get(0);//jq对象转化成了dom对象
var cr=documnet.getElementById("cr");//dom对象
var $cr=$(cr); //dom对象转化成了jq对象


方法:

1、jQuery对象转化成dom对象:

两种转换方式将一个jQuery对象转换成DOM对象:[index]和jQuery自带的.get(index)会返回一个dom对象;

2、dom对象转化为jQuery对象:

只需要用
$()
把DOM对象包装起来,就可以获得一个jQuery对象了。
$(DOM对象)


实现请参阅csdn上“梅花香自苦寒来”大神的一份博客:jQuery和js对象的相互转化

链接:http://blog.csdn.net/avenccssddnn/article/details/8566131

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息