Ошибка IE на простом jQuery - PullRequest
0 голосов
/ 25 мая 2010

Подробная информация об ошибке

Использование: Mozilla / 4.0 (совместимо; MSIE 8.0; Windows NT 5.1; Trident / 4.0; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .СЕТЬ CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Tiemstamp: вт, 25 мая 2010 г. 08:54:11 UTC

Сообщение: объект не поддерживает это свойство или метод Ряд: 208 Символ: 3 Код: 0

В строке 208 у меня есть perpage = $("#perpage").val();

Что здесь не так? Это происходит только в IE8, Firefox работает без нареканий. У кого-нибудь есть идеи?

Ответы [ 2 ]

2 голосов
/ 25 мая 2010

Кажется, проблема в том, что у меня было то же имя для переменная JavaScript и идентификатор элемента . Когда я переименовал переменную в vperpage , все это работало в IE.

vperpage = $("#perpage").val(); //Seem to work in Internet Explorer

Кто-нибудь может подтвердить это странное поведение в IE?

Отредактировано 2010-05-25 13:57 GMT + 1

Так же, как @bobince говорит и ссылка, которую он разместил, IE видит элемент и переменную как одно и то же, если мы не объявляем переменную в нашем JavaScript.

var perpage = $("#perpage").val(); /*Works in Internet Explorer */
perpage = $("#perpage").val(); /*Doesn't work in Internet Explorer since 
                               we already have a element with the id perpage*/

Это может сбивать с толку, поскольку сам JavaScript также автоматически объявляет переменную, которая не существует, если мы даем ей значение. Но это, как мы заметили в проблеме выше, не работает, когда у нас уже есть элемент с таким же идентификатором. Так что плохая практика - не всегда объявлять свои собственные переменные :) Урок!

1 голос
/ 25 мая 2010

Является ли элемент с идентификатором perpage чем-то иным, чем поля ввода формы? Если да, вы должны использовать:

var perpage = $("#perpage").html(); // for html contents of the element
var perpage = $("#perpage").text(); // for textual contents of the element

Это также может быть проблематично, если вы присвоили идентификатор #perpage более чем одному элементу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...