Существует ли собственная функция jQuery для переключения элементов?

Цитирование документов Android http://www.androiddocs.com/google/play/billing/billing_testing.html

Тестовые покупки предлагают безопасный и удобный способ включения более масштабное тестирование реализации биллинга в приложении во время разработки или подготовки к запуску. Они позволяют авторизованным учетным записям совершать покупки ваших встроенных в приложение продуктов через Google Play, пока приложение еще не опубликовано, без каких-либо фактических сборов с учетных записей пользователей.

После авторизации с доступом для тестирования эти пользователи могут загружать ваше приложение и тестировать весь поток товаров, покупок и исполнения для ваших продуктов. Тестовые покупки - это реальные заказы, и Google Play обрабатывает их так же, как и другие заказы. Когда покупки завершены, Google Play предотвращает переход заказов на финансовую обработку, обеспечивая отсутствие фактических расходов на учетные записи пользователей, и автоматически отменяет выполненные заказы через 14 дней.

blockquote>

Во время разработки покупки будут тестировать покупки, потому что приложение не подписано. В подписанном выпуске они будут тестовыми покупками, если приложение не будет опубликовано.

167
задан juan 26 April 2018 в 01:27
поделиться

5 ответов

Наилучший вариант состоит в том, чтобы клонировать их с клоном () метод.

-2
ответ дан user84771 23 November 2019 в 20:57
поделиться

Нет, нет, но Вы могли сделать тот на скорую руку:

jQuery.fn.swapWith = function(to) {
    return this.each(function() {
        var copy_to = $(to).clone(true);
        var copy_from = $(this).clone(true);
        $(to).replaceWith(copy_from);
        $(this).replaceWith(copy_to);
    });
};

Использование:

$(selector1).swapWith(selector2);

Обратите внимание, что это только работает, если селекторы только соответствуют 1 элементу каждый, иначе он мог бы дать странные результаты.

66
ответ дан Paolo Bergantino 23 November 2019 в 20:57
поделиться

Право Paulo, но я не уверен, почему он клонирует затронутые элементы. Это не действительно необходимо и потеряет любые ссылки или слушателей события, связанных с элементами и их потомками.

Вот не клонирующаяся версия с помощью простых методов DOM (так как jQuery действительно не имеет никаких специальных функций для создания этой конкретной операции легче):

function swapNodes(a, b) {
    var aparent = a.parentNode;
    var asibling = a.nextSibling === b ? a : a.nextSibling;
    b.parentNode.insertBefore(a, b);
    aparent.insertBefore(b, asibling);
}
75
ответ дан David Mulder 23 November 2019 в 20:57
поделиться

Вам не нужны два клона, достаточно одного. Принимая ответ Паоло Бергантино, мы имеем:

jQuery.fn.swapWith = function(to) {
    return this.each(function() {
        var copy_to = $(to).clone(true);
        $(to).replaceWith(this);
        $(this).replaceWith(copy_to);
    });
};

Должно быть быстрее. Передача меньшего из двух элементов также должна ускорить процесс.

11
ответ дан 23 November 2019 в 20:57
поделиться

посмотрите на jQuery плагин "Swapable"

http://code.google.com/p/jquery-swapable/

он построен на "Sortable" и выглядит как sortable (drag-n-drop, placeholder и т.д.), но меняет местами только два элемента: перетаскиваемый и опускаемый. Все остальные элементы не затрагиваются и остаются на своей текущей позиции.

2
ответ дан 23 November 2019 в 20:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: