Jquery .remove () отменить? - PullRequest
       11

Jquery .remove () отменить?

4 голосов
/ 10 августа 2009

Есть ли способ добиться этого? Я использую плагин для разбивки на страницы, который считывает количество li внутри моего ul и определяет количество пронумерованных ссылок, которые нужно выплюнуть.

Ответы [ 4 ]

7 голосов
/ 10 августа 2009

Вы, вероятно, хотите использовать .hide () и проверить, виден ли li.

Это можно сделать с помощью $("li:visible")

5 голосов
/ 10 августа 2009

См. Документы jQuery:

$("#foo").remove().appendTo("#bar");

Если #foo был потомком #bar, приведенная выше строка не имеет никакого эффекта. Теперь, сохранение $("#foo").remove() в переменной (это объект jQuery) и повторное добавление его оставлено вам как упражнение; -)

Приветствия

1 голос
/ 10 августа 2009

Если вы хотите удалить семантическую отмену (), это будет append () . Но вы хотите, вероятно, то, что @contagious и @Max Schmeling предложили, toggle ().

1 голос
/ 10 августа 2009

Нет способа сделать это, о чем я могу подумать, не модифицируя код jQuery. Это, вероятно, не так сложно изменить, хотя. Вам нужно положить в стек (или структуру, подобную стеку), и когда вызывается .remove (), поместить туда html вместе с селектором или чем-то в этом роде, а затем в .undo (), вернуть его обратно.

Это предполагает, что вам действительно нужны возможности отмены, а не просто возможность переключать видимость с помощью .hide () /. Show () или .toggle ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...