2013-09-29 3 views
0

Я пытаюсь создать простой неупорядоченный список со следующим поведением. Когда элемент списка щелкнут, ему нужно перейти вверху списка.Удаление и добавление в jQuery

Мне удалось это сделать, назначив элемент переменной, удалив «это» (щелкнув элемент) и добавив мою переменную элемента.

Это похоже на работу. Только один раз.

Я думаю, это потому, что элементы удалены из DOM, а новые не «обнаружены». Каков правильный способ сделать это?

Вот мой простой код:

$('ul.selekta li').on('click', function() { 
    var element = $(this); 
    $(this).remove(); 
    $('ul.selekta').prepend(element); 
}); 

Любая помощь очень ценится!

+1

Асо см '.detach()': http://api.jquery.com/detach/ " Метод .detach() такой же, как и .remove(), за исключением того, что .detach() сохраняет все данные jQuery, связанные с удаленными элементами. Этот метод полезен, когда удаленные элементы должны быть повторно вставлены в DOM позже. " – biziclop

+0

Также вы можете написать '$ ('ul.selekta'). On ('click', 'li', function() {});' – biziclop

+0

Является ли это лучше или эффективнее, чем то, что я сделал? – alemur

ответ

3

Это потому, что вы удаляете элемент, просто предварять его:

$('ul.selekta li').on('click', function() { 
    $(this).prependTo('ul.selekta'); 
}); 

FIDDLE

+0

ahhhh спасибо! Я думал, что мне нужно его тоже удалить! Я соглашусь, что он ответит как можно скорее (через 11 минут) – alemur

Смежные вопросы