Очистка значений ячеек в HTML - PullRequest
1 голос
/ 09 июля 2010

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

var $delActionDate = $('#delete_Event');

        $delActionDate.live('click', function() {

            var myRow = $delActionDate.parent().parent();
            myRow.find('#dateCell').html() = "";

Есть идеи, как это сделать?

Ответы [ 3 ]

2 голосов
/ 09 июля 2010

Хочешь, myRow.find('#dateCell').html("");

1 голос
/ 09 июля 2010

Вы должны использовать классы вместо идентификаторов, так как есть несколько элементов, затем используйте .closest() и .find(), чтобы получить, где вы хотите, например:

$('.delete_Event').live('click', function() {
  $(this).closest('tr').find('.dateCell').empty();
});

Это означает изменение ваших элементов на class="delete_Eevent" и class="dateCell" вместо id="delete_Event" и id="dateCell"..closest('tr'), чтобы подняться до <tr>, независимо от того, насколько глубоко, затем .find(), чтобы перейти к ячейке даты.Затем мы используем .empty() для очистки элементов.

Если у вас есть какие-либо обработчики данных или событий, это лучший подход, чем .html(""), потому чтоэто не приведет к утечке памяти, хранящейся в $.cache, которая .empty() очищается.

1 голос
/ 09 июля 2010

Как сказал Лука, для обновления html-контента вы используете html("") вместо html()="".

Кроме того, если предположить, что ваш parent () корректен в зависимости от вашего HTML, то вам нужно изменитьсделать так, чтобы выбранная строка в зависимости от того, какая кнопка была нажата, должна быть: изменить

var myRow = $delActionDate.parent().parent();

на

var myRow = $(this).parent().parent();
...