У меня проблемы с функциями jQuery prepend()
и after()
, которые не выполняются так, как ожидалось, в Safari или IE. Тем не менее в любом из инструментов разработчика не должно быть никаких предупреждений. Этот фрагмент кода отлично работает как в Chrome, так и в Firefox.jQuery DOM-манипуляция не работает в IE или Safari
То, что я пытаюсь (и преуспел) выполнить, состоит в том, чтобы отсортировать пару строк через jQuery. Первый элемент в массиве будет перемещен как первый дочерний элемент #tbody
, а остальные будут отсортированы друг за другом.
var $previousCountry = null;
var group_id = "A";
for (var i = 0; i < countries.length; i++) {
var $country = $('#trcountry-' + countries[i].id);
if (i === 0) {
$('#tbody-' + group_id).prepend($country); //Problem 1
}
else {
$previousCountry.after($country); //Problem 2
}
$previousCountry = $country;
}
Пример HTML-код:
<table>
<tbody id="tbody-A">
<tr id="trcountry-3"><td></td></tr> <!-- In fact a lot of td:s -->
<tr id="trcountry-2"><td></td></tr>
<tr id="trcountry-1"><td></td></tr>
</tbody>
</table>
Как ни странно, я был в состоянии выполнить тот же кусок кода - $('#tbody-A').prepend('#trcountry-1');
- через инструменты для разработчиков всех четырех браузеров, и это было успешным каждый раз.
Что может вызвать эту проблему?
Пожалуйста, поделитесь соответствующим HTML. – Blazemonger
@Blazemonger Я редактировал вопрос. – Nurp
Откуда вы получаете 'group_id'? – MMM