Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-原型冲突_Jquery_Prototypejs_Conflict - Fatal编程技术网

jQuery-原型冲突

jQuery-原型冲突,jquery,prototypejs,conflict,Jquery,Prototypejs,Conflict,我正在使用prototype和script.aculo.us的组合在我的asp.net页面中实现lightbox效果。我的页面中也包含了jquery。我的页面中有几个DIV标记,但在页面头部包含了prototype文件后,我无法使用jquery读取javascript中的DIV var div = $("#divLeftSideModelsList"); alert(div) 告诉我一个错误,对象为空 但是 他给了我目标 这是因为jQuery和其他框架之间存在一些冲突吗 请注意此代码是否有效

我正在使用prototype和script.aculo.us的组合在我的asp.net页面中实现lightbox效果。我的页面中也包含了jquery。我的页面中有几个DIV标记,但在页面头部包含了prototype文件后,我无法使用jquery读取javascript中的DIV

var div = $("#divLeftSideModelsList"); 
alert(div)
告诉我一个错误,对象为空 但是

他给了我目标

这是因为jQuery和其他框架之间存在一些冲突吗

请注意

此代码是否有效:

var div = jQuery("#divLeftSideModelsList");
alert(div);
读一读:

这是一个很好的例子:

重写$-函数

但是,在jQuery和另一个库都已加载之后,您可以随时调用jQuery.noConflict来覆盖该默认值。例如:

 <html>
 <head>
   <script src="prototype.js"></script>
   <script src="jquery.js"></script>
   <script>
     jQuery.noConflict();

     // Use jQuery via jQuery(...)
     jQuery(document).ready(function(){
       jQuery("div").hide();
     });

     // Use Prototype with $(...), etc.
     $('someid').hide();
   </script>
 </head>
 <body></body>
 </html>
这会将$还原回其原始库。您仍然可以在应用程序的其余部分使用jQuery

此外,还有另一种选择。如果希望确保jQuery不会与另一个库冲突,但希望使用短名称,可以执行以下操作:

 <html>
 <head>
   <script src="prototype.js"></script>
   <script src="jquery.js"></script>
   <script>
     var $j = jQuery.noConflict();

     // Use jQuery via $j(...)
     $j(document).ready(function(){
       $j("div").hide();
     });

     // Use Prototype with $(...), etc.
     $('someid').hide();
   </script>
 </head>
 <body></body>
 </html>

您应该在中使用jQuery。然后使用jQuery而不是$。

奇怪的bug。无论如何,prototype和jQuery都重新定义了全局变量$

请阅读了解jQuery如何与其他库配合使用


它基本上是说,调用jQuery.noConflict会将$variable单独留给其他LIB使用

您解决了这个问题吗?您是否需要进一步的帮助,或者您是否可以将问题标记为已回答?
 <html>
 <head>
   <script src="prototype.js"></script>
   <script src="jquery.js"></script>
   <script>
     var $j = jQuery.noConflict();

     // Use jQuery via $j(...)
     $j(document).ready(function(){
       $j("div").hide();
     });

     // Use Prototype with $(...), etc.
     $('someid').hide();
   </script>
 </head>
 <body></body>
 </html>