问题发生在IE6(可能是所有浏览器预先约会document.getElementsByClassName)。 使用jQuery 1.6与1.5的原型document.getElementsByClassName打破原型覆盖造成的jQuery类选择器
<script src="../js/jquery-1.6.js" language="javascript" type="text/javascript"> </script>
<script language="javascript" type="text/javascript">
// Prototype will claim the '$' namespace so give jQuery '$j' instead.
$j = jQuery.noConflict();
</script>
<script src="../js/prototype.js" language="javascript" type="text/javascript"> </script>
的问题是在这里讨论:http://randomous.com/forum/topic.php?id=916(见第2后),在这里:http://ejohn.org/blog/getelementsbyclassname-pre-prototype-16
本质原型在浏览器中创建document.getElementsByClassName的早该功能(它本身是现在由大多数浏览器支持)。
然而,jQuery也检查document.getElementsByClassName的存在性,当它发现它时,它假定它获取本机实现;但实际上它获取的原型实现不像jQuery所期望的那样。
我尝试了很多技巧来解决这个问题,但都没有工作。 [想告诉jQuery的document.getElementsByClassName未定义,试图从自称document.getElementsByClassName等停止原型]
该应用程序是旧(旧因此原型),不幸的是将在IE6 &主要运行IE7(是的,FML )。我试图使用最新的jQuery,因为这是我很舒服,我需要添加很多疯狂的UI控件到应用程序 - 组合框自动完成dragdroppy疯狂....基本上我需要jQuery。
这里最终的结果是我得到的错误任何时候我使用jQuery的类选择 - $(”。SomeClass的)
有什么想法吗?我以为我用JavaScript很体面,但这是在杀我。
你能展示一些你试过的代码吗,也许可以做一个小提琴吗? – Neal 2011-05-09 15:31:42