我已经使用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 文件。我真的很感激任何建议。
答案 0 :(得分:1)
此问题与库冲突有关。如果您遇到类似的问题,可以参考以下引用来使用兼容模式和jQuery插件创作。
Using_jQuery_with_Other_Libraries
一开始,我认为这不是一个碰撞问题,因为jQuery的JS文件引发了错误,但我想第一次调用是对另一个库的JS文件进行的最后在jQuery中执行完毕。对于Internet Explorer,它在不同的JS文件中显示错误,这是我实现修复的方式。
我希望它对每个人都有帮助,亲切的问候。
答案 1 :(得分:-1)
如果您的选择器返回未定义的值,则会发生这种情况。确保您的选择器返回有效值。 检查它在点击$(this).hide();
时指向的是什么