Когда загружается script, я получаю эту ошибку:
TypeError: 'undefined' не является функцией (оценка "$ (document)" )
Я понятия не имею, что вызывает его или что оно даже означает.
В firebug я получаю следующее:
$не является функцией
Wordpress использует jQuery в noConflict по умолчанию. Вам нужно ссылаться на него, используя jQuery
как имя переменной, а не $
, например. использовать
jQuery(document);
вместо
$(document);
Вы можете легко обернуть это в функцию самоисполнения, так что $
снова ссылается на jQuery (и также позволяет избежать загрязнения глобального пространства имен), например
(function ($) {
$(document);
}(jQuery));
jQuery(document)
вместо $(document)
где вы хотите. Если вы хотите использовать вместо этого $
, то приведенный выше скрипт просто создает функцию, которая принимает аргумент $
затем выполняет его, передавая jQuery
; короче говоря, внутри функции $
указывает на jQuery, как и следовало ожидать.
$(document).ready(function() { // code });
вместо вашего $(document);
... это работает как шарм.
Использовать jQuery noConflict
. Это чудесно для меня.
var example=jQuery.noConflict();
example(function(){
example('div#rift_connect').click(function(){
example('span#resultado').text("Hello, dude!");
});
});
То есть, если вы включили jQuery в свой HTML
<script language="javascript" type="text/javascript" src="/jquery.min.js"></script>
Используйте это:
var $ =jQuery.noConflict();
У меня была эта проблема только в Chrome.
Я попробовал добавить
var $ =jQuery.noConflict();
непосредственно перед вызовом
$(document).ready(function () {
Это сработало.
Спасибо большое
Попробуйте этот фрагмент:
jQuery(function($) {
// Your code.
})
Это сработало для меня, возможно, это тоже поможет.
Также проверьте наличие jQuery, за которым следуют некоторые компоненты/другие библиотеки (например, jQuery UI), а затем случайно, включая jQuery, снова - это переопределит jQuery и отбросит с экземпляра вспомогательные компоненты компонента (например .datepicker).
Я бы использовал этот
(function ($) {
$(document);
}(jQuery));
;(function($){
// your code
})(jQuery);
Поместите свой код js внутри закрытия выше, он должен решить проблему.
Вы можете передать $in function()
jQuery(document).ready(function($){
// jQuery code is in here
});
или вы можете заменить $(document);
на это jQuery(document);
или вы можете использовать jQuery.noConflict()
var jq=jQuery.noConflict();
jq(document).ready(function(){
jq('selector').show();
});
Я также сталкивался с такими проблемами много раз в веб-разработчике. На самом деле это не конфликт JS. Когда мы загружаем html-сайт в браузер, мы не сталкиваемся с такой ошибкой, но когда мы загружаем этот тип сайта через localhost, мы сталкиваемся с такой проблемой. Это из-за localhost. Когда мы загружаем скрипты через localhost, он сканирует script и выводит результат. Но когда мы не использовали localhost. Он просто сканирует выход. Например, когда мы пишем php-код, накладываем локальный хост и запускаем без хоста, получаем ошибку. Но если код правильный и выполняется через хост, мы получаем фактический вывод, и когда мы используем элемент проверки, мы получаем выходной код в формате HTMl, но не в формате PHP, это из-за рендеринга кода.
Это ошибка отображения. Поэтому, чтобы исправить эту ошибку кода jquery, одно из решений может использовать этот метод.
jQuery(document).ready(function($){
/******** Body of Jquery Code*****/
});
Что этот код делает, это регистр '$' как переменная для функции, применяя jquery. Else по умолчанию .js файл читается только как javascript.
Вы можете использовать как jQuery, так и $в нижеприведенном фрагменте. это сработало для меня
jQuery( document ).ready(function( $ ) {
// jQuery(document)
// $(document)
});
оберните все script между этим...
<script>
$.noConflict();
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery $ can follow here.
});
</script>
Многие библиотеки JavaScript используют $как имя функции или переменной, как это делает jQuery. В случае jQuery, $является просто псевдонимом для jQuery, поэтому все функции доступны без использования $. Если вам нужно использовать другую библиотеку JavaScript вместе с jQuery, верните управление $обратно в другую библиотеку с вызовом $. NoConflict(). Старые ссылки $сохраняются во время инициализации jQuery; noConflict() просто восстанавливает их.
Две вещи:
Я столкнулся с этой проблемой также при включении jQuery в свой заголовок страницы, не понимая, что хост уже включил его на странице автоматически. Поэтому загрузите свою страницу вживую и проверьте источник, чтобы увидеть, связано ли jQuery.
Net
Firebug нет ошибок (убедитесь, что jQuery действительно загружается).