2013-10-07 3 views
0

У меня есть JQuery скрипт, который дает согласованный элементы, но он работает в Firefox, но не в IE, в IE он дает мне **Объект не поддерживает свойство или метод «есть»

Error: Object doesn't support property or method 'is'

** Здесь Я использую JQuery 1.9.1

jo.filter(function (i, v) { 
      var $t = $(this).val(); 
      for (var d = 0; d < data.length; ++d) { 
       if ($t.is(":contains('" + data[d] + "')")) { 
        return true; 
       } 
      } 
      return false; 
     }) 

http://jsfiddle.net/L9XDQ/

+1

var $ t = $ (this) .val(); $ t является nolonger объектом jquery. – jerjer

+2

['.val()'] (http://api.jquery.com/val/) - * Возвращает: String или Number или Array *; ни один из которых не имеет метода 'is' – Phil

+0

@Phil, но как он работает в FF, когда я отлаживаю этот фрагмент $ t, дает мне некоторое значение. – user2826111

ответ

1

двигаясь от

var $t = $(this).val() 

к

var $t = $(this); 

вещи будут работать. Как упоминалось в комментариях, $ (this) .val() не является объектом jQuery. Это почти наверняка String, так как он получает атрибут value от элемента DOM.

Кроме того, я попробовал вашу скрипку в Firefox и посмотрел на консоль, ошибка срабатывает. Он не убивает страницу или не показывает какой-либо сигнал, но функциональность фильтра не будет работать.

Смежные вопросы