Ошибка с «этим» в IE с плагином jQuery - PullRequest
3 голосов
/ 03 октября 2011

Я пишу плагин для jQuery, который теперь отлично работает на любом браузере, кроме IE.Это часть кода:

(function( $ ){
    $.fn.myPlugin = function(options) {

        var methods = {
            getFirstList: function(el){
                return $("ul:first", el);
            }
        };

        return this.each(function(){
            ...
            var list = methods.getFirstList(this); 
            // "this" here refers to window or document in IE.
            ...
        });
    };
})( jQuery );

Когда я вызываю плагин ($("#myObject").myPlugin();), ключевое слово «this» ссылается не на объект DOM, а на окно или документ.

Как мне это исправить?

1 Ответ

2 голосов
/ 03 октября 2011

Попробуйте заменить this на $(this)

...