我几天前刚刚开始我的第一个JavaScript教程。我已经到了解释图书馆使用的地步。到目前为止有两个问题:
getElementById
在jQuery中实现为$("#id")
,在Prototype中实现为$("id")
。为何不一致?
如果同时包含两个库,浏览器如何确定应为$("")
返回哪个对象?
答案 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/