JavaScript库:jQuery与Prototype

时间:2014-01-17 19:29:46

标签: jquery prototypejs javascript javascript-framework

我几天前刚刚开始我的第一个JavaScript教程。我已经到了解释图书馆使用的地步。到目前为止有两个问题:

  1. getElementById在jQuery中实现为$("#id"),在Prototype中实现为$("id")。为何不一致?

  2. 如果同时包含两个库,浏览器如何确定应为$("")返回哪个对象?

3 个答案:

答案 0 :(得分:1)

浏览器没有“决定”,无论你选择哪一个都覆盖第一个。

在两个图书馆争夺$的情况下,请改用jQuery

jQuery('#id') // same as $('#id') when $ == jQuery

然后,您可以使用jQuery.noConflict将对$的控制权返回给Prototype。

至于不一致性,它们是不同人在不同时间写的不同图书馆,并不打算使它们兼容。一致性从来都不是考虑因素。

答案 1 :(得分:1)

  

1。为什么不一致?

这两个图书馆在不同的时间由不同的团队实施,并做了很多不同的事情。为什么你会期望一致性?

  

2。如果包含这两个库,浏览器如何决定应该为$("")返回哪个对象?

这取决于你如何包含它们。但是,jQuery有避免这种冲突的工具,请参阅jQuery.noConflict。自从我使用原型以来已经有一段时间了,但它也可能具有相似的功能。

答案 2 :(得分:0)

此链接将帮助您了解处理冲突,同时将jquery与其他库(如prototype)一起使用 http://learn.jquery.com/using-jquery-core/avoid-conflicts-other-libraries/