jQuery.hide不接受参数

时间:2011-11-03 02:42:54

标签: jquery yui

我已经使用jQuery好几个月了,但是今天我面临着一些奇怪的事情。这是我的代码:

<script type="text/javascript" src="js/jquery-1.6.1.min.js"></script>

以下代码在同一个项目的另一个页面中工作正常(我自己几个月前做过):

$(hideButtonJQId).click(function (){
    $(this).hide("slow", function (){
    ... do something
    });
});

出于某种原因,在新页面中,隐藏仅在没有参数的情况下工作:

$(hideButtonJQId).click(function (){
    $(this).hide();
});

如果我尝试设置任何参数,即使只是一个延迟参数,也会抛出错误:

$(hideButtonJQId).click(function (){
    $(this).hide(1000);
    $(this).hide('slow');
    $(this).hide('slow', function{ alert('not working'); });
    etc.
});

FireBug中的错误是“ c.replace不是函数”。

我们在两个页面中使用YUI框架,它正常工作,而不是它。我认为它可能是框架之间的崩溃,但我从FireBug获得的错误消息来自 jquery-1.6.1.min.js 文件。我真的很感激任何建议。

2 个答案:

答案 0 :(得分:1)

此问题与库冲突有关。如果您遇到类似的问题,可以参考以下引用来使用兼容模式和jQuery插件创作。

Plugins Authoring

Using_jQuery_with_Other_Libraries

一开始,我认为这不是一个碰撞问题,因为jQuery的JS文件引发了错误,我想第一次调用是对另一个库的JS文件进行的最后在jQuery中执行完毕。对于Internet Explorer,它在不同的JS文件中显示错误,这是我实现修复的方式。

我希望它对每个人都有帮助,亲切的问候。

答案 1 :(得分:-1)

如果您的选择器返回未定义的值,则会发生这种情况。确保您的选择器返回有效值。 检查它在点击$(this).hide();

时指向的是什么