次の行は、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];
}