Символ строки по индексу в IE
Здравствуйте, уважаемые.
Как так случилось, что в IE условие ложно? var str = 'I love you tetya Motya!' if(str[0]=='I'){ document.write('Yes :)'); }else{ document.write('No :('); } Разве символ строки нельзя получить по его индексу? Или это фишка JVscriptа Спасибо. |
ваше условие истинно, и работает в IE
|
Хорошо, вот прилагаю скрин, на нем код и результат работы в браузерах: Хром, Файрфокс, Опера и, собственно, Осел 6-ой и 8-ой версий.
![]() Я еще могу предположить, что IETester может как-то глючит, но IE8 у меня самый настоящий от Microsoft, который прилагается к win7. Поэтому как минимум в данном приведенном случае IE считает, что условие ложно :) Например, вот на это: var str = 'Some text'; document.write(str[5]); IE выводят undefined. Безобразие... |
"I love you tetya Motya!".charAt(0) |
Благодарю за метод.
Вычитал, что обращение к символам, как к элементам массива не стандартизировано и некоторыми браузерами не поддерживается. Опытным путем выяснилось, что некотороые браузеры - это эксплореры. С уважением. |
Вложений: 1
скрин из ие8 с прежней версией скрипта
а чтоб везде работало можно так <script language="JavaScript" type="text/javascript"> var str = 'I love you tetya Motya!' str = str.split(''); if(str[0]=='I'&&str[7]=='y'){ document.write('Yes :)'); }else{ document.write('No :('); } </script> |
Ну Вы же не думаете, что я Вас обманываю. У меня IE8 выдает то, что на скрине.
Не знаю, может быть дело в доктайпе, у Вас я вижу он задан? Не думал, что он на работу javascript влияет. Спасибо. Добавлено: Установил доктайп xhtml 1.0 strict, и IE8 стал считать условие истинным. IE6-7 как раньше - ложным. |
vahrusha, вы невнимательны, рони показал, что строку можно преобразовать в массив односимвольных строк:
Цитата:
|
Цитата:
Всем отписавшимся спасибо. |
Часовой пояс GMT +3, время: 19:43. |