#jquery #css-tables
#jquery #css-таблицы
Вопрос:
Я опубликую более подробный фрагмент кода позже (сейчас у меня нет доступа к VPN), но есть ли что-нибудь обычное, что может вызвать странные проблемы с компоновкой в приведенном ниже случае:
<body>
<div>...</div>
<div>...</div>
<div>...</div>
<table id="container">...</table>
</body>
Верхний уровень <div>
— это float: left; width: 100%
Когда я пытаюсь обернуть таблицу с помощью:
$('table#container').wrap('<div id="body_content"></div>');
Содержимое первого <div>
перепутывается (кажется, дублирует строку меню, которая у меня там есть).
ОБНОВЛЕНИЕ Только что нашел <script>
теги, подобные следующим, вложенным внутри таблицы, когда я удаляю их перед переносом таблицы, проблема исчезает. Любое понимание этого было бы оценено.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
Комментарии:
1. Я думаю, нам нужно увидеть немного больше HTML и CSS, связанных с идентификатором body_content . И не могли бы вы подробнее рассказать о запутанном , пожалуйста?
2. Да, я опубликую весь пример сегодня вечером, я просто надеялся, что у кого-то был подобный опыт, которым они могут поделиться. Как я упоминал, строка меню в первом div (меню состоит из нескольких вложенных разделов), похоже, дублируется, поэтому я вижу меню дважды, и оно обтекает и закрывает часть следующего div.
3. И DOM для этого div вообще не меняется, волшебным образом появляется меню «extra», когда я оборачиваю таблицу.
4. странно, я с нетерпением жду вашего кода сегодня вечером и посмотрю, смогу ли я помочь в это время.
5. Пытаясь очистить HTML и сделать его пригодным для публикации, я думаю, что нашел причину проблемы (хотя я не уверен, почему это имеет такой эффект). В
table
то, что я оборачиваю, вложеныscript
теги (т. Е. Загрузка jquery), поэтому, когда я удалил их перед вызовом,wrap
проблема исчезла. Если у вас есть какие-либо мысли о том, почему это происходит, я буду рад пометить это как правильный ответ.
Ответ №1:
Похоже, проблема была во вложенных <script>
тегах, в частности, во вложенном теге, который загружал jQuery. Удаление тегов скрипта перед вызовом wrap()
, похоже, устраняет проблему.