ФорумПрограммированиеJavaScript → Непонятное поведение Google Chome с блочным внутри строчного

Непонятное поведение Google Chome с блочным внутри строчного

  • Ёл

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 26 сентября 2010 г. 13:39

    Если с помощью JQ в строчный элемент запихать блочный, а потом удалить его из него (или заменить на строчный), то этот строчный в хроме будет отображаться не как строчный…

    Вот рабочий простейший пример:

    <!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;>
    <html><head><meta http-equiv=&quot;content-type&quot; content=&quot;text/html; charset=utf-8&quot; />
    <script type=&quot;text/javascript&quot; src=&quot;jquery.js&quot;></script>
    <script type=&quot;text/javascript&quot;>
    $(document).ready(function()
    {
    // обработик изменения
    $(&#39;a&#39;).toggle(function()
    {
    // Вставляю блок в строку
    $(&#39;span&#39;).html(&#39;<div>Я блок в строке!</div>&#39;);
    $(this).html(&#39;Заменить блок на строку&#39;);
    return false;
    },
    function()
    {
    // Заменяют обратно блок на строку
    $(&#39;span&#39;).html(&#39;Я строка в строке&#39;); // Но! Строка отображается как блочный элемент..
    $(this).html(&#39;Вставить блок в строку&#39;);
    return false;
    });
    });
    </script>
    </head>
    <body>
    Некоторая строка (<span>изменяемая строка в строке</span>) всё ещё строка…
    <p><a href=&quot;#&quot;>Вставить блок в строку</a></p>
    </body>
    </html>


    Что делать - уже хз, пробовал добавлять свойство &quot;inline&quot; уже после изменения контента, но не помогает.
    В фф всё норм работает как и ожидается, а вот хром глючит.

    Кто сталкивался? Как лечится?
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 26 сентября 2010 г. 13:48, спустя 9 минут 14 секунд

    можно каверзный вопрос? нахуя так извращаться?
    Сапожник без сапог
  • krasun

    Сообщения: ? Репутация: N Группа: Джедаи

    Spritz 26 сентября 2010 г. 14:18, спустя 30 минут 13 секунд


    Как лечится?

    Рендерингом дерева DOM. То есть не лечиться. То есть нахуя так извращаться?
  • Ёл

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 26 сентября 2010 г. 14:21, спустя 2 минуты 52 секунды

    phpdude,

    при изменении данных в полях формы, после смены фокуса с поля серверу отправляется AJAX-запрос на проверку,
    тот возвращает результат в виде HTML.

    Полученный результат вставляется справа от редактируемого поля.
    Если результат маленький, то сервер возврaщает его как строку, если большой, то возвращает как блок.
    Сделано это для того чтобы большой результат отображался под полем, а маленький справа от поля.

    Но если до строки вставить блок, то и строка после будет отображаться как блок =(

    1. Сервер возвращется строки - отобрабраются как ожидается:


    2. Сервер возвращается блоки - отображается как ожидается (См. поля &quot;Е-мейл&quot; и &quot;Пароль&quot;)


    3. Сервер возвращается строки, но после блока строка не хочет быть строкой… (См. поля &quot;Е-мейл&quot; и &quot;Пароль&quot;)


    Надеюсь получилось объяснить нахуя мне это надо… В общем весь дизайн и идея в жопу…

    п.с В форму быстрого ответа без возможности пред. просмотра как-то сыкотно писать, отредактировать то низззя =D
  • Ёл

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 26 сентября 2010 г. 14:35, спустя 14 минут 14 секунд


    То есть не лечиться.


    Почему в ФФ тогда всё заебись - строки - это строки, а блоки - это блоки?!
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 26 сентября 2010 г. 21:55, спустя 7 часов 19 минут 57 секунд

    Ёл, не кажется ли тебе логичным сделать &quot;както по другому&quot;?) то есть заране проставить эти блоки и места под картини например? :)
    Сапожник без сапог
  • technobulka

    Сообщения: 4552 Репутация: N Группа: Джедаи

    Spritz 27 сентября 2010 г. 5:22, спустя 7 часов 26 минут 48 секунд

    исходнег ф студию))
    Высокоуровневое абстрактное говно
  • ЗлобныйТролль

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 27 сентября 2010 г. 5:35, спустя 13 минут 34 секунды

    А я всегда говорил, что гонять HTML по XHR - дурной тон.
  • Ёл

    Сообщения: ? Репутация: N Группа: Кто попало

    Spritz 3 октября 2010 г. 10:30, спустя 6 дней 4 часа 54 минуты

    В общем после ночи проведённой над этим багом (а это именно он, других мыслей у меня нет) нашёл удивительно простое решение (аж сам офигел как это просто, чуть не заплакал), вместо &quot;&lt;div>text&lt;/div>&quot; стал писать &quot;&lt;br/>text&quot; (ведь в див я текс сувал чтобы он навой строке был (блок ведь, а хуле)) и всё заработало глюков! =D

    phpdude, тоже вариант, да почему-то пошёл по этому пути, не люблю клиентские скрипты писать =D

    Stasovsky, в первом посте считай исходник, абстрагированный от всего барахла, та же ошибка там присутсвует.

    ЗлобныйТролль, XHR там не причём

    Спасибо всем за участие ^^
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 3 октября 2010 г. 10:33, спустя 2 минуты 40 секунд

    Ёл, lol))
    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!