Я работаю на тестовом сайте, поэтому я не могу предоставить слишком много кода. Этот метод prepend() отлично работает во всем, кроме IE, и он не работает в ЛЮБОЙ версии IE. Нет ошибок консоли. Я получаю огромную область невыбираемого пробела, где должен находиться маленький div.
У меня есть div в навигации, содержащей панель поиска. Я выбрал эту панель поиска. И положил его в боковую панель.
$('#sidebar').prepend($('#header_rowSearch'));
Как я уже сказал, это работает в каждом браузере, но в IE.
У выбранного div нет добавленных стилей. На боковой панели есть:
#sidebar {
padding: 20px;
height: 100%;
margin: 0;
width: 345px;
background-color: #162732;
float: right;
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
-moz-box-sizing: border-box; /* Firefox, other Gecko */
box-sizing: border-box; /* Opera/IE 8+ */
}
Поэтому я решил проблему. Это связано с информацией, которую я не предоставлял. Идентификатор был фактически внутри таблицы, и разметка была
<td id="header_RowSearch"></td>
IE является единственным браузером, который пытается его правильно прочитать, когда вы вставляете строку таблицы в фактический div. Поэтому, очевидно, случайная строка внутри div собирается сломать вещи. При этом эта строка jQuery спасла день.
$('#sidebar').prepend($('#header_rowSearch'));
$('#header_rowSearch').wrap('<table></table>');