developing.name Решение проблем разработки сайтов. uncat php javascript jquery ajax html other C#

Проблема тернарных операторов в 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>′;
}

Ссылки по теме:

  • 24.11.2008 - Проблема тернарных операторов в IE
  •  

    Комментарии

    Нет

     

    Имя*:
    e-mail*:
    URL:
    captcha*
    Текст*:
    • 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

    jQuery plugins:
    • pro.scroll - графический скролл для div
    • pro.tips - всплывающие подсказки
    Powered by PRO