?
我的博客求点击:http://yysource.sourceforge.net/?p=36
如果是根据id(假设id="myid")选择,
jQuery的用法为(这里用jQuery代替$):jQuery("#myid"); 则返回一个数组。
prototype 的用法为:$("myid"); 返回结果为一个Element对象
如果是根据tag选择,
jQuery的用法为:jQuery("div"); 返回一个数组。
prototype 的用法为:$$("div"); 返回一个数组。
jQuery 无论选择什么,都是用jQuery(),并且传进去的字符串模式是跟 css 里的选择器一样的,也就是说支持类似 "[class*='myclass']" 之类的语法(我没试过,只是看的教程里这样说)。
prototype 根据id来选择的时候用的是$(),其余都是用$$();
注意,用jQuery库找到的结果,是 jQuery 的数组对象,但是数组里的元素都是属于Element对象,而不是jQuery的对象,所以这时用jQuery.on() 之类的函数是不行的。必须先转换:
var el = jQuery("#myid"); // 获得匹配的 id 的 Element对象(可能不止一个) el.on("click", ...); // 这一句不会出错,但是也不会有效果,click之后该可能不会触发设定的函数。 el = jQuery(el[0]); // 将该 jQuery数组对象 提取出第一个 Element 对象,并转换为 jQuery 对象 el.on("click",...); // 可以正常使用 jQuery 的专用函数了。
?而 prototype 与 javascript 的原生对象是整合在一起的,所以 prototype 的Element对象里有的函数,可以直接调用:
var el = $("myid"); // 获得第一个匹配 id 的 Element对象 el.down(0); // 直接调用 prototype 的 Element 对象特有的函数。?
?