jquery - добавление нового атрибута элемента

0

Я установил новое свойство в элементе таблицы (каждая таблица должна иметь свойство selectedRow, которое является указателем на выбранный элемент tr), но фактически между вызовами моего обработчика кликов это свойство становится null:

 $("table.grid").each(function () {
        this.selectedRow = null;
    });

    var selectRow = function (tr) {

        var table = tr.parents("table").get();

        if (table.selectedRow == tr.get()) return;

        // table.selectedRow still NULL!!!!!!!!!!!
        if (table.selectedRow) {
            var unselect = $(table.selectedRow);
            unselect.removeClass('selectedChilds');
            unselect.prev('tr').removeClass('siblingUpChilds');
            unselect.next('tr').removeClass('siblingDownChilds');
        }

        table.selectedRow = tr.get();

        tr.addClass('selectedChilds');
        tr.prev('tr').addClass('siblingUpChilds');
        tr.next('tr').addClass('siblingDownChilds');

    }

    $('table.grid tr').click(function (e) {
        selectRow($(e.delegateTarget));
    });
  • 1
    вы используете плагин? Таблицы не имеют свойства selectedRow.
  • 0
    нет, я установил это свойство ...
Показать ещё 3 комментария
Теги:
dom

1 ответ

1
Лучший ответ

Используйте данные (ключ [, значение]) для установки/получения свойств:

$('#my-elem').data('selected_row', '...');

Ещё вопросы

Сообщество Overcoder
Наверх
Меню