2014-02-15 2 views
-3

У меня есть сценарий, который удаляет строку из таблицы при нажатии кнопки:Как исключить строку из функции jQuery?

$('.remove').live('click',function(){ 
    $(this).parent().parent().remove(); 
}); 

Мне нужна эта функция, чтобы не работать на строках один и два стола. При нажатии на кнопки 3+ следует удалить эту кнопку. Есть идеи?

+4

Вы знаете, что 'live' был удален из jQuery? Вы не должны хранить старую версию jQuery, если вы уверены, что все ваши пользователи имеют старые браузеры. –

+2

Не было бы лучше не показывать кнопку удаления, если строка не может быть удалена? –

+0

показать еще код. Какая таблица? где табличный код. показать нам. Не используйте live. использование On –

ответ

1

Вы можете использовать gt:

$('tr:gt(1) .remove').live('click',function(){ 
    $(this).parent().parent().remove(); 
}); 

Но это выглядит актуально для Вас, чтобы обновить JQuery до последней версии (где live было подавлено). Это было бы, например

$(document).on('click', 'tr:gt(1) .remove' ,function(){ 
    $(this).parent().parent().remove(); 
}); 
+0

Perfect. Я взял ваш второй с пересмотренным скриптом, и он отлично работает! Большое спасибо. –

0

Попробуйте использовать :gt() селектор:

$('tr:gt(1) .remove').live('click',function(){ 
    $(this).parent().parent().remove(); 
}); 

live() нежелателен из JQuery версии 1.7, вы должны использовать on() вместо этого.

1

.live является принизить, использовать на вместо как это,

$("html").on("click",".remove",function(){ 
$(this).closest("tr").remove(); 
}); 

UPDATE К сожалению, не читал этот вопрос до конца, чтобы исключить строки 1 и 2 сделать так:

$("html").on("click",".remove:gt(1)",function(){ 
$(this).closest("tr").remove(); 
}); 
+0

Спасибо, что сообщили мне. Есть ли способ исключить строки 1 и 2 с этим скриптом сейчас? –

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