关于jQuery对象与DOM对象

今天遇到了关于jQuery对象与dom对象的区分问题。具体如下:对于元素<span id="aa" class="aa">hyz</span>在jquery环境下给该元素绑定事件。对于以下几种方法:

1.$('#aa').click();

2.$('.aa')[0].click();

3.$('.aa:eq(0)').click();

对于第一种方法,$('#aa')获取的是一个jQuery对象,故可以使用jQuery的click方法;

对于第二种方法,这是错误的。$('.aa')获取的是一个jQuery对象数组,$('.aa')[0]是一个dom对象,故不能使用jQuery的方法(包括click),而要把这个dom对象转换成jQuery对象,则需要这样写:$($('.aa')[0]).click();

对于第三种方法,$('.aa:eq(0)')是一个jQuery对象,原因是使用jQuery选择器获取的对象。

注意:jQuery对象只能用jQuery方法,dom对象只能用dom方法。例如:$('#aa').innerHTML这样的写法是错误的。

数组中jQuery对象与dom对象的转化问题:

var aa = $('.aa');//这是一个jQuery对象的数组,即是一个数组对象

var aa1  = aa[0];//这是一个dom对象

aa1 = aa.get(0);//这是一个dom对象

aa = $('#aa');//这是一个jQuery对象

详细参考资料请点击这里http://www.cnblogs.com/yellowapplemylove/archive/2011/04/19/2021583.html

原文地址:https://www.cnblogs.com/joyho/p/3205809.html