$ .fn - ноль или не объект - PullRequest
2 голосов
/ 27 апреля 2010

Задача 1

Ошибка: ошибка времени выполнения Microsoft JScript: '$ .fn' является нулевым или не является объектом

Область ошибок:

    $.fn.apply=function(item,content,header){

        $(".featureBox"+item).css('z-index', "1000");
        $("img.featureBox" + item +"top").attr("src",basepath + "box-big-top.jpg");
        $("img.featureBox" + item +"imgcut").attr("src",basepath + "box-big-img"+item+".jpg");
        featureboxcont[item].attr("src",basepath + "box-big-cont.jpg");
        $("img.featureBox" + item +"foot").attr("src",basepath + "box-big-bot2.jpg");
        //$("#NoteModalDialog > #x-dlg-bd > #x-dlg-tab > #acc-ct")

        $("#box"+item+"headtext > .h2div > h2").text(header);
        $("#box"+item+"bottext").css({"top":"181px","width":"205px","font-size":"12px","color":"#ffffff","left":"10"});
        $("#box"+item+"foottext").css({"top":footheight+"px","width":"215px","left":"20"});
        $("#box"+item+"hidden").css({"display":"block"});
        $("#box"+item+"bottext").text(content);
        $("#box"+item+"headtext > .h2div > h2").removeClass("sIFR-replaced");
        callsIFR();
    }

Задача 2

Ошибка: ошибка времени выполнения Microsoft JScript: 'null' равен null или не является объектом

Область ошибок:

$("#innerWrapper").addClass("js-version");

Я также использую protoype.js на странице.

Ответы [ 4 ]

2 голосов
/ 27 апреля 2010

Похоже, ваша проблема в том, что и прототип, и jQuery используют $ имя функции / переменной. Проверьте эту страницу о том, как настроить jQuery так, чтобы он не конфликтовал с прототипом.

1 голос
/ 27 апреля 2010

Если вы используете jQuery и Prototype на странице, $.fn действительно будет неопределенным в глобальной области видимости. Единственный способ использовать jQuery и Prototype на одной странице - это использовать jQuery.noConflict и присвоить ему символ, отличный от $, который также использует Prototype.

0 голосов
/ 09 августа 2011

Для Задачи 1 вы можете решить конфликты с prototype.js, просто используя

jQuery.fn.apply = …

Тогда вы избежите конфликта между двумя библиотеками.

0 голосов
/ 27 апреля 2010

Почему у вас есть заявление в декларации? Применить используется, чтобы указать это методом. обычно вы делаете что-то вроде этого ...

var object1 = {X:"stuff"};

var $.fn = function () {
   /* substitute your method here */
   this.X = this.X || "default";
   alert(this.X);
};

$.fn.apply(object1);
...