2

次の行は、Chrome と Firefox で作業しているときに、IE8 で問題を引き起こしています。

this.column = header_index[this.parentNode.rowIndex + "-" + this.cellIndex];

IE8 は「メソッドまたはプロパティ アクセスへの予期しない呼び出し」を返します。getCellIndex(this)の代わりにを使用して、他の場所で推奨されている修正を試み、this.cellIndex次を追加しました。

function getCellIndex(aCell) {
    aRow = aCell.parentNode;
    for (i = 0; i != aRow.cells.length; i++) {
        if (aRow.cells[i] == aCell) return i;
    }
}

...そして、「cells.length が null またはオブジェクトではない」と言われました。

続行方法に関する推奨事項をいただければ幸いです。以下の関数の関連部分、問題は 6 行目にあります。

$tableHeaders = $(c.selectorHeaders, table)
            .wrapInner("<div class='tablesorter-header-inner' />")
            .each(function(index) {
                $t = $(this);
                ch = c.headers[index];
                this.column = header_index[this.parentNode.rowIndex + "-" + this.cellIndex];
                this.order = formatSortingOrder( ts.getData($t, ch, 'sortInitialOrder') || c.sortInitialOrder ) ? [1,0,2] : [0,1,2];
                this.count = -1; // set to -1 because clicking on the header automatically adds one
                if (ts.getData($t, ch, 'sorter') === 'false') { this.sortDisabled = true; }
                this.lockedOrder = false;
                lock = ts.getData($t, ch, 'lockedOrder') || false;
                if (typeof(lock) !== 'undefined' && lock !== false) {
                    this.order = this.lockedOrder = formatSortingOrder(lock) ? [1,1,1] : [0,0,0];
                }
4

0 に答える 0