Jquery冲突和错误说$(...)。attr不是一个函数

时间:2013-03-12 07:50:06

标签: php jquery codeigniter

我在视图中使用 jQuery-1.7.2 .js 。当我使用第一个js然后错误没有来,我执行我的任务没有没有错误,但当我包括我的第二个js然后我面临错误,错误是 $(...)。attr不是一个函数< /强> 这是代码

这是视图

     <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。感谢

3 个答案:

答案 0 :(得分:2)

要避免此类问题,请使用jQuery的{​​{1}}功能,然后使用noConflict()来电更改$()次来电。

查看documentation

答案 1 :(得分:1)

排除var cls=$(i).attr('class');

的冲突变更var cls=jQuery(i).attr('class');

在此处查看有关noConflict的更多信息:http://api.jquery.com/jQuery.noConflict/

答案 2 :(得分:1)

在您的脚本标记开始后,只需使用此行 var $ = jQuery.noConflict(); ,然后您可以使用 $ 而不是 Jquery < / p>

<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');
   }
}