2

$ var在我的代码中使用 jQuery,但我有一些外部 js 文件$jx用作 jQuery Var。现在我的代码不起作用,我越来越$不是一个函数。我删除了所有外部 js 文件然后它正在工作。我寻找解决方案。许多人说“您可以使用自己的 var 作为 jQuery/$ 来代替 like var $jx = jQuery.noConflict();。但是当我在我的页面中调用这一行时,我$ var的被删除并显示“$ 不是函数”错误。我做了一个简单的代码解释这个问题

请阅读并测试我的以下代码。

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
//var $=jQuery.noConflict();
var $jx = jQuery.noConflict(); // this $jx var will be used in another plugins or codes

function test()
{
$("#test").hide();
}
</script>

</head>

<body>
<input type="button" value="Click Me to hide box" onclick="test()" />
<div id="test" style="border:1px solid #0033FF; background:#999900; height:100px; width:200px; color:#FFFFFF; font-size:20px;">I will be hidden</div>
</body>

运行上面的代码,点击按钮,什么都不会发生。将发生错误。现在只需删除此行即可var $jx = jQuery.noConflict();。我没有在这里使用 $jx ,而是为其他外部脚本使用它。那么如何$jx在同一页面中同时使用 $ 和?我的错误是什么?

我的工作在项目进行到一半时就停止了。

请帮我

4

4 回答 4

3

改写成这样

<script type="text/javascript">

$.noConflict();


function test()
{
  jQuery("#test").hide();
}
</script>

这意味着$您不必jquery在代码中使用任何地方$,而是需要使用。

或者

<script type="text/javascript">
var jx = $.noConflict();    


function test()
{
  jx("#test").hide();
}
</script>

现在这意味着$您不必j在代码中使用任何地方$,而是需要使用。

于 2012-09-20T06:53:32.827 回答
0

尝试var jx = jQuery.noConflict();代替var $jx = jQuery.noConflict();

后来jx("#test").hide();代替$("#test").hide();.

另见文档:http ://api.jquery.com/jQuery.noConflict/

于 2012-09-20T06:53:48.187 回答
0

你可以使用:

var $jx = jQuery.noConflict();
$jx(document).ready(function($){

function test()
{
    $("#test").hide();
 }
});

正如您已将 $ 重新定义为 jQuery 的句柄

于 2012-09-20T06:51:12.167 回答
0

我用

var jquery = $;
jquery("#test").hide();
于 2014-12-29T20:14:23.043 回答