nikita.mmf, спасибо за совет насчет классов, это действительно удобно.
А проблема была в неверном значении переменной в этой строке:
var str = this.id.substr(-1)
в ИЕ возвращалось не число, а все значение атрибута id.
Текущую строку заменил на
var str = this.id.charAt(2);
работает
тему, думаю, можно закрыть