2010-10-29 1 views
0

У меня есть следующий код JQuery, который прекрасно работает в IE8, FF, но в режиме оценочного IE8 дает эту ошибкуJavascript ошибка в режиме compatibitlity IE8

сведения об ошибках веб-страницы

Агент пользователя: Mozilla/4.0 (совместимый MSIE 8.0, Windows NT 5.1, Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; Creative AutoUpdate v1 .30.00) Метка: Fri, 29 Oct 2010 22:12:03 UTC

Сообщение: Объект не поддерживает эту собственность или способ Линия: 162 Char: 44 Код: 0

Вот строка 162

$(this).attr('onChange', function(iii,vvv){return vvv.replace('_','');}); 

Вот полный скрипт

<script type="text/javascript" language="javascript"> 
$(document).ready(function(){ 
$("select[name^=SELECT___]").each(function(){ 
$(this).attr('onChange', function(iii,vvv){return vvv.replace('_','');}); 
}); 
$("a[href^='javascript:change_option']").each(function(){ 
$(this).attr('href', function(ii,vv){return vv.replace('_','');}); 
}); 
}); 
</script> 

Что вызывает эту ошибку? Есть ли другой способ сделать то, что я хочу сделать?

Что мне нужно сделать, так это изменить «change_option» на «changeoption» в каждом экземпляре следующего кода на странице. Возможно, есть лучший способ сделать это.

Адрес электронной почты: HTML код. У меня нет доступа к этому HTML код

EDIT:

<select onChange="change_option('SELECT___100E___7',this.options[this.selectedIndex].value)" name="SELECT___100E___7"> 

Это декларация док.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

ответ

1

Что мне нужно сделать, это изменить «change_option» к «changeoption» в каждый экземпляр следующего кода на страница, Может быть, есть лучший способ сделать это.

Возможно. Почему вы не можете просто создать псевдоним changeoption (если вы определили функцию)?

var change_option = changeoption; 
+0

Я не преследую вас по этому вопросу. Я не вижу, как это вызовет функцию changeoption вместо функции change_option. Вы можете объяснить это немного больше? – user357034

+0

Функции похожи на любые другие переменные в javascript. Это то же самое, что и при выполнении var v = 10; var a = b; alert (a) 'Конечно, он будет предупреждать значение a, но имеет то же значение, что и b. Или, может быть, я полностью неправильно понял ваш вопрос. –

+0

Чтобы уточнить, функция, вызываемая при изменении в каждом поле выбора с именем, начинающимся с SELECT___, - это change_option (xxxxxx, xxxxxx). Я хочу, чтобы функция называлась этой changeoption (xxxxxx, xxxxxx). теперь я попытался сделать это с помощью функции замены, которую вы видите выше, но только работал в FF и IE8, но дал ошибку javascipt в режиме IE8 comp. Надеюсь, это имеет смысл. – user357034