我应该如何使用noConflict()?

时间:2015-03-31 02:51:53

标签: jquery

我的页面中有多重jquery脚本。 页面中有两个jquery版本(1.8和1.10),下面有多个脚本:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script>
    var jv8 = jQuery.noConflict();
    jv8(function () {
      jv8('#discounted').attr("disabled", true);
    });
</script>


<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
    var jv10 = jQuery.noConflict();
    jv10(function () {
      jv10('#discounted').attr("disabled", true);
    });
</script>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
    var jv10 = jQuery.noConflict();
    jv10(function () {
      jv10('#discounted').attr("disabled", true);
    });
</script>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script>
    var jv10 = jQuery.noConflict();
    jv10(function () {
      jv10('#discounted').attr("disabled", true);
    });
</script>

第一个脚本使用jquery版本1.8,三个脚本使用jquery版本1.10.2

但这不起作用。我怎样才能解决这个问题?我该如何使用noConflict?

1 个答案:

答案 0 :(得分:1)

问题是脚本标记,您需要显式关闭它,否则它将跳过所有脚本,直到它遇到下一个</script>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script>
  var jv8 = jQuery.noConflict();
  jv8(function ($) {
    $('#discounted').prop("disabled", true);
  });
</script>

演示:Plunker