我正在使用jQuery-1.7.2 .js在我看来。当我使用第一个js然后错误不来,我执行我的任务没有错误,但当我包括我的第二个js然后我面对错误和错误是$(…)。attr不是函数下面是代码
this is view
<a title="Minimize Chat Window" class="abc" id="minmax" href="#Minimize Chat Window" onclick="min_max(this);">
这是js
<script src="<?=base_url()?>js/libs/jquery-1.7.2.min.js"></script>
<script type="text/javascript" >
function min_max(i)
{
var cls=$(i).attr('class');
if(cls == 'abc')
{
$(i).removeClass('xyz');
}
else
{
$(i).addClass('xyz');
}
}
但是当我将第二个js放在第一个之后或之前时,那么
var cls=$(i).attr('class');
给出$(…)的错误。attr不是一个函数
请帮我找出我的问题。我认为它的jquery冲突。但我想在视图中同时使用这两个js。由于为了避免这种问题,使用jQuery
的noConflict()
函数,然后将$()
调用改为jQuery()
调用。
看一下文档。
只要使用这一行var $ = Jquery . noconflict ();在你的脚本标签开始后,你可以使用$代替Jquery
<script src="<?=base_url()?>js/libs/jquery-1.7.2.min.js"></script>
<script type="text/javascript" >
var $ = jQuery.noConflict();
function min_max(i)
{
var cls=$(i).attr('class');
if(cls == 'abc')
{
$(i).removeClass('xyz');
}
else
{
$(i).addClass('xyz');
}
}
为了排除var cls=$(i).attr('class');
对var cls=jQuery(i).attr('class');
的冲突
查看更多关于noConflict的信息:http://api.jquery.com/jQuery.noConflict/