FadeOut и Remove Table Row

Я знаю, что этот вопрос задавался раньше, но, похоже, у меня другая проблема, чем решалась раньше. У меня есть таблица, и я хотел бы, чтобы в каждой строке была ссылка на удаление, которая затемняет строку таблицы, а затем удаляет строку таблицы из DOM. Моя первая проблема заключалась в том, что я не мог заставить эффект jQuery fadeOut работать со строками таблицы и обнаружил, что вам действительно нужно вызвать fadeOut для элементов td строки. Итак, вот мой jJavascript:

$('span.deleteItem').live('click', function() {  
    $(this).closest('tr').find('td').fadeOut('fast', 
        function(){ 
            $(this).parents('tr:first').remove();                    
        });    

    return false;
});

Элемент span живет внутри td, поэтому я нахожу ближайший элемент tr при щелчке по нему, а затем использую функцию fadeOut для каждого из его элементов td. Это прекрасно работает.

Проблема в том, что в функции обратного вызова this фактически ссылается на элемент окна, а не на отдельный элемент td, который был скрыт. Насколько я понимаю, «this» должно было ссылаться на элемент, который был затемнен.

Есть идеи?

8
задан Brian Tompsett - 汤莱恩 27 July 2017 в 11:12
поделиться