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

本文对比了jQuery与Prototype两种JavaScript库的选择器用法。jQuery使用统一的jQuery()函数进行选择,支持CSS样式的复杂选择器语法;而Prototype库中,根据ID选择使用$(),其余情况使用$$()。此外,还介绍了如何在两种库中处理选择后的DOM元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值