Как я могу удалить (удалить все вкладки) вкладки пользовательского интерфейса jQuery?
EDIT: я не пытаюсь удалить функциональные возможности вкладки, но чтобы удалить все вкладки, чтобы добавить новые.
Я пытаюсь:
for (var i = $('#content').tabs('length') - 1; i >= 0; i--) {
$('#content').tabs('remove', i);
}
Но вкладки ( "длина" ) всегда возвращают 0, даже если в элемент управления добавлены некоторые вкладки.
Кстати, я инициализирую его пустым
$('#content').tabs();
и добавление вкладок динамически после
$('#content').tabs( 'add' , '' , data[i].nombre);
Вы пытались добавить вкладки с непустым URL?
$('#content').tabs( 'add' , 'non empty url' , data[i].nombre);
Скопировано из официальной документации (http://docs.jquery.com/UI/Tabs#method-add)
.tabs( 'add' , url , label , [index] )
Добавить новую вкладку. Второй аргумент - это либо URL-адрес, состоящий из идентификатора фрагмента, только для создания вкладки на странице, либо полного URL-адреса (относительная или абсолютная, без поддержки междоменного доступа), чтобы перевести новую вкладку на вкладку Ajax (удаленный). Третий - это позиция, основанная на нуле, где нужно вставить новую вкладку. Дополнительно, по умолчанию новая вкладка добавляется в конце.
У меня возникали проблемы с итерацией через вкладки и удалением их всех, как в вашем вопросе. Мое решение состояло в том, чтобы удалить 0-я вкладка несколько раз, равную значению, возвращаемому методом "length" объекта tabs:
var tab_count = $('#tabs').tabs('length');
for (i=0; i<tab_count; i++){
$('#tabs').tabs( "remove" , 0 )
}
У меня была аналогичная проблема. Чтобы удалить вкладки из предыдущего запроса перед загрузкой новых вкладок, я сделал следующие шаги:
Вот код, который я использовал. Работает на меня. Надеюсь, это сработает для вас.
$('div#tabs ul li').remove();
$('div#tabs div').remove();
$("div#tabs").tabs("refresh");
Другие решения, которые я нашел в Интернете, не работали для меня.
Вы можете просто отпереть вкладки из селектора.
$('#content').unbind();
EDIT:
Прямо из документации jQuery
.tabs( 'destroy' );
Полностью удалите функциональные возможности вкладок. Это вернет элемент обратно в исходное состояние.
Error: no such method 'length' for tabs widget instance
( действительно )