当前位置: 代码迷 >> Web前端 >> jQuery 跟 prototype 选择器的使用与注意事项
  详细解决方案

jQuery 跟 prototype 选择器的使用与注意事项

热度:563   发布时间:2012-11-22 00:16:41.0
jQuery 和 prototype 选择器的使用与注意事项

?

我的博客求点击: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 对象特有的函数。
?

?

  相关解决方案