一直以为jquery 中的 $(“#”) 与 js中的document.getElementById(“”)是一样的啊,在写html5的时候就遇到了问题。
var c1 = document.getElementById("canvas");
var c2 = $("#canvas");
alert(c1==c2);
上述代码的alert结果是false。在网上看到一个博客,才找到原因。
用Jquery选择的包装集返回的是Jquery对象,用document.getElementByID返回的却是DOM对象,既然对象不同,方法也就不能混用。简单说来就是:Query对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。 对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象)。
所以在上述代码里,只要在$()后面加一个[0]就可以获取到DOM对象了。而且,jquery对象可以用.each()来对每一个进行遍历。