今天遇到了关于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