Проблема возникает в IE6 (вероятно, все браузеры предварительно датируют document.getElementsByClassName).Использование jQuery 1.6 с Prototype 1.5
<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
По существу Prototype создает document.getElementsByClassNameв браузерах эта функция предшествует (в настоящее время она поддерживается большинством браузеров).
Однако jQuery также проверяет существование document.getElementsByClassName, и когда он его находит, он предполагает, что он получает собственную реализацию;но на самом деле он получает реализацию Prototypes, которая не ведет себя так, как ожидает jQuery.
Я пробовал МНОГО хитростей, чтобы решить эту проблему, но ни одна из них не работает.[пытается сказать jQuery document.getElementsByClassName не определено, пытается не дать прототипу требовать document.getElementsByClassName и т. д.]
Приложение старое (отсюда старый прототип) и, к сожалению, будет работать в основном на IE6 и IE7 (да, FML).Я пытаюсь использовать последнюю версию jQuery, потому что это то место, где я чувствую себя комфортно, и мне нужно добавить в приложение множество сумасшедших элементов управления пользовательским интерфейсом - комбинированный список автозаполнения сумасшествия dragdroppy .... в основном мне нужен jQuery.
В результате я получаю ошибки каждый раз, когда использую селектор класса jQuery - $ ('. SomeClass')
Есть мысли здесь?Я думал, что я был порядочным с javascript, но это убивает меня.