td самостоятельно добавляется (без причин). Синдром кривых рук?

Тема в разделе "Вёрстка (HTML, CSS)", создана пользователем halfhope, 2 дек 2013.

  1. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    285
    Симпатии:
    312
    Сегодня при верстке страницы настроек для OpenCart обнаружил, что таблица "поползла". Хотя анализ sublimetext показывает, что верстка правильная и лишних тегов нет. Открыл консоль, посмотрел, оказывается каким-то образом к tr добавляется еще один td.
    В шаблоне прописано
    Код:
    <tr>
        <td><?php echo $delivery_systems ?></td>
        <td><input type="text" name="mcj_cdn_addr" value="<?php echo $mcj_cdn_addr; ?>" style="width:250px;" /></td>
    </tr>
    
    Вроде бы ничего лишнего нет, но в браузере td все же добавляется. Смотрю исходный код, который получает браузер до обработки, там его нет!!!. Отключил JavaScript, перезагружаю страницу, и "О боже, да, этот td же шестой ребенок Чака Норриса!" - он все еще был на своем месте. Пробовал еще в Chrome и FF, мал, да удал! В общем долго я искал как его убрать, все грешил на механизм работы браузера и sublimetext и скорее всего оказался прав. Потому что после того, как я удалил и заново переписал полностью код tr он все же ушел. я думаю, что с какими-нибудь символами, которые sublime и notepad++ не отображает, а браузер вместо них добавляет td. С чем это может быть связано?
     
  2. m1stique

    m1stique

    Регистрация:
    27 сен 2013
    Сообщения:
    8
    Симпатии:
    6
    Скорей всего кривость рук) Например, где то не закрыл тэг или типа того, а браузеры пытаются исправить эту ошибку и показывают жесть. Скрытые символы - вероятность крайне мала xD.
     
    halfhope нравится это.
  3. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    285
    Симпатии:
    312
    Переустановлю драйвера на руки и все будет "ок"!
     
    HPlus нравится это.
  4. xxx999

    xxx999

    Регистрация:
    29 ноя 2013
    Сообщения:
    24
    Симпатии:
    13
    А где ; в конце вывода переменной $delivery_systems? ))
    <?php echo $delivery_systems ?>
    <?php echo $delivery_systems;?>

    И да, из-за лишнего символа > или ; браузер вполне может добавить лишний <td>. Также приходилось заново переверстывать блок, хотя визуально все было одинаково, одним словом магия ))
     
    halfhope нравится это.
  5. halfhope

    halfhope

    Регистрация:
    31 дек 2012
    Сообщения:
    285
    Симпатии:
    312
    Нашел причину, это был непечатаемый символ, уже третий раз на нем время теряю. Как-то странно, он появился только когда я менял кодировку файла.
     
    HPlus нравится это.