不知道如何使用jQuery noconflict函数

gdi*_*ari 5 ajax jquery html5 prototypejs

过去两周我一直在这个网站上工作,到目前为止一切顺利.我有冲突的javascripts,虽然我知道用什么方法来解决问题(jquery noconflict),我不知道如何使用它!

就我而言,我有:

  • 一个下拉菜单,它使用原型js和自定义js
  • 和一个联系表单,它使用一些jquery文件进行验证和错误通知

这个案例很经典,它们可以单独工作但不能在一起工作.我读了一帮网站,大多数指向使用的解决方案:

<script>

  jQuery.noConflict();

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

  // Use Prototype with $(...), etc.
  $('someid').hide();

</script>
Run Code Online (Sandbox Code Playgroud)

我是javascript的新手,所以我不知道如何处理这个代码片段.

这是我的标题:

    <script src="js/prototype.js"></script>
    <script src="js/drop-o-matic.js"></script>
    <script>

  jQuery.noConflict();

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

  // Use Prototype with $(...), etc.
  $('someid').hide();

    </script> 

    <!--[if lt IE 9]>

 <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
 <![endif]-->

    <!-- <script src="http://code.jquery.com/jquery-latest.js"></script>
 <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.4/jquery-ui.min.js"></script>
 <script src="js/jquery.jigowatt.js"></script> -->


    <script>
    document.createElement("article");  
    document.createElement("footer");  
    document.createElement("header");  
    document.createElement("hgroup");  
    document.createElement("nav");
    document.createElement("aside");
    document.createElement("section");
    document.createElement("menu");
    document.createElement("hgroup");
 </script> 
Run Code Online (Sandbox Code Playgroud)

我只有原型&drop-o-matic js生效,表单的js文件被评论(就在IE评论之后).

原型和drop-o-matic用于html5导航(没有id,只是

        <nav>
            <ul>
                <li><a href="index.php" class="home">Home</a></li>
                ...
                ...
                ...
            </ul>
        </nav>
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能使脚本协同工作?

谢谢您的帮助.

Jos*_*ola 9

首先,jQuery.noConflict()在您包含jQuery库之前,您正在调用!这肯定是行不通的.在调用noConflict之前必须包含jQuery脚本标记...

<script src="js/prototype.js"></script>
<script src="js/drop-o-matic.js"></script>
<script src="http://code.jquery.com/jquery-latest.js"></script><!-- IMPORTANT -->
<script>
  jQuery.noConflict();
</script>
Run Code Online (Sandbox Code Playgroud)

如果您愿意,也可以给jQuery自己的别名...

var $j = jQuery.noConflict();

$j(document).ready(function() {
  $j("div").hide();
});
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请阅读有关将JavaScript与其他库一起使用的API文档