Проблема тернарных операторов в IE
24.11.2008, 00:01Рубрика: javascript
JS хорошая штука, но когда работает не в Internet Explorer. И вот случился очередной не приятный случай. Зависал IE (6 и 7), то есть безбожно начинал хавать память, а Opera и FF летали при этом.
После долгих мучений и кружений вокруг скрипта, наконец-то обнаружился баг.
Конкретный код потерялся, но примерно такой структуры:
s = (i<>b?′<a href="#′+i+′" id="′+(i<3?′1′:′2′)+′">′+i+′</a>′:′<strong id="′+(i<3?′1′:′2′)+′">′+i+′</strong>′);
приводит IE к неадекватным действиям. Точно определить не удалось, почему IE зависал, но подозрение на “тернарные в тернарных”.
Решение пришло логичное, заменить на if {} else {}, чтоб не было вложенности тернарных операторов. Да и код читабельнее становится. :)
if (i<>b)
{
s = ′<a href="#′+i+′" id="′+(i<3?′1′:′2′)+′">′+i+′</a>′;
} else {
s = ′<strong id="′+(i<3?′1′:′2′)+′">′+i+′</strong>′;
}
{
s = ′<a href="#′+i+′" id="′+(i<3?′1′:′2′)+′">′+i+′</a>′;
} else {
s = ′<strong id="′+(i<3?′1′:′2′)+′">′+i+′</strong>′;
}
Ссылки по теме:
Нет
- javascript тернарный оператор
- тернарный оператор javascript
- js тернарный оператор
- php Тернарный оператор
- C# тернарный оператор
- тернарный оператор js
- тернарный оператор php
- jquery оператор if
- Тернарный оператор
- тернарные операторы
- зависает ie
- оператор if в jquery
- ie зависает
- ie 6 завис
- php тернарный
- тернарный оператор C#
- вложенные тернарные операторы
- Почему зависает IE
- тринарный оператор php пример
- тернарный оператор в javascript
- тернарных
- name IE
- javascript тернарный
- problem ie name /
- C# тернарные операторы
- тринарный оператор в javascript
- зависает скрипт ajax
- jquery оператор ||
- почему зависает сайт под ИЕ 6
- jquery оператор for
- виснет ie6 ajax
- Jscript тернарный оператор
- почему ie6 зависает от js
- javascript ie6
- тернарный оператор с++
- ie6 зависает
- if else javascript тернарный оператор
- js ie зависает
- тернарный оператор +javascript
- проблема в internet explorer jquery виснет
- в java не работает ? : тернарный if else
- internet explorer 6 виснет javascript
- http://name.internet
- тернарные операторы в html
- jquery виснит эксплоер
- тернарный оператор if php
- internet explorer зависает
- php с java script виснет
- тринарный оператор C#
- операторы jQuery