2017-02-16 8 views
0

Я использую jQuery 1.12. После нажатия на TD, я хочу, чтобы удалить все элементы в нем, кроме того, с классом «savedBlock», поэтому я попыталсяКак удалить все элементы, кроме одного в jQuery?

$(elt).closest('td').find('.savedBlock').show() 
$(elt).closest('td').not('.savedBlock').remove() 

К сожалению, это оказывает эффект удаления все. По крайней мере, все исчезнет из ячейки таблицы после того, как я запустил это. Если я прокомментирую строку $(elt).closest('td').not('.savedBlock').remove(), ничего не удаляется, но теперь я вижу больше, чем хочу. Какие-либо предложения?

+0

Так savedBlock прикладывается к тд? – Zze

+0

Можете ли вы показать свой HTML? Трудно знать, что все элементы связаны друг с другом. '.not()' применяется к самому элементу, '.find()' ищет потомков. – Barmar

ответ

0

Попробуйте это:

$('td').on('click', function(e) { 
    $(this).children().not(".savedBlock").remove(); 
}) 
0
$(elt).closest('td:not(.savedBlock)').remove() 

, как это должно быть сделано. двоеточие перед не

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