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