jquery与prototype冲突解决的可行方法?
关于jquery与prototype冲突问题网上找了很多,一直没有可用的,不知道是自己没改到地方还是什么.这里请高手给个详细点的方法吧,非常期待,谢谢!
网上具体的方法有
一.试了,不可以,不知道最后一步是查找$替换为jQuery,还是怎么的;然后window.js也不知道哪里来的
1、将jquery.js放到prototype.js后面(这个是必须的否则无论如何还是要罢工地)。
2、在jquery.js后面将$变量重命名。
方法如下:
复制代码 代码如下:
<script type="text/javascript" type="text/javascript" src="window.js"></script>
<!--上面这个window.js调用了jquery框架的方法-->
<script type="text/javascript" type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
var jQuery=$;
</script>
3、将原来使用的$方法名一律替换为jQuery名,如$("obj")替换为jQuery("obj")。
二.这个一加,直接所有的页面内容都隐藏了.
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();
jQuery(document).ready(function($){
$("div").hide();
});
$('someid').style.display = 'none';
</script>
12、解决自定义方法或其他类库与jQuery的冲突
很多时候我们自己定义了$(id)方法来获取一个元素,或者其他的一些js类库如prototype也都定义了$方法,如果同时把这些内容放在一起就会引起变量方法定义冲突,Jquery对此专门提供了方法用于解决此问题。
使用jquery中的jQuery.noConflict();方法即可把变量$的控制权让渡给第一个实现它的那个库或之前自定义的$方法。之后应用 Jquery的时候只要将所有的$换成jQuery即可,如原来引用对象方法$("#msg")改为jQuery("#msg")。
如:
jQuery.noConflict();
// 开始使用jQuery
jQuery("div p").hide();
// 使用其他库的 $()
$("content").style.display = 'none';
有话要说