Skip to content

TableToken

bhsd edited this page Nov 30, 2023 · 17 revisions
目录

Other Languages

简介

表格。

✅ 在 MiniBrowser 版本中可用。

Properties

closed

✅ 展开

type: boolean
表格是否闭合。

// closed
var {firstChild} = Parser.parse('{|\n!a');
assert.equal(firstChild, '{|\n!a');
assert.strictEqual(firstChild.closed, false);
firstChild.closed = true;
assert.equal(firstChild, '{|\n!a\n|}');

Methods

lint

✅ 展开

returns: LintError[]
报告潜在语法错误。

// lint
var {firstChild} = Parser.parse('{|\na');
assert.equal(firstChild, '{|\na');
assert.deepStrictEqual(firstChild.lint(), [
    {
        severity: 'error',
        message: 'content to be moved out from the table',
        startLine: 1,
        startCol: 0,
        startIndex: 3,
        endLine: 1,
        endCol: 1,
        endIndex: 4,
        excerpt: 'a',
    },
    {
        severity: 'error',
        message: 'unclosed table',
        startLine: 0,
        startCol: 0,
        startIndex: 0,
        endLine: 0,
        endCol: 2,
        endIndex: 2,
        excerpt: '\na',
    },
]);

close

✅ 展开

闭合表格语法。

// close
var {firstChild} = Parser.parse('{|\n!a');
assert.equal(firstChild, '{|\n!a');
firstChild.close();
assert.equal(firstChild, '{|\n!a\n|}');

cloneNode

展开

returns: this
深拷贝节点。

// cloneNode
var {firstChild} = Parser.parse('{|\n!a');
assert.equal(firstChild, '{|\n!a');
assert.deepStrictEqual(firstChild.cloneNode(), firstChild);

escape

展开

转义表格语法。

// escape
var {firstChild} = Parser.parse('{|\n|-\n|a\n|}');
assert.equal(firstChild, '{|\n|-\n|a\n|}');
firstChild.escape();
assert.equal(firstChild, '{{{!}}\n{{!}}-\n{{!}}a\n{{!}}}');

getRowCount

展开

returns: number
获取行数。

// getRowCount
var {firstChild} = Parser.parse('{|\n|a\n|-\n|}');
assert.equal(firstChild, '{|\n|a\n|-\n|}');
assert.strictEqual(firstChild.getRowCount(), 1); // 表格首行可以直接写在 TableToken 下,没有内容的表格行是无效行。

getColCount

展开

returns: number
获取列数。仅用于直接写在 TableToken 下的表格首行。

// getColCount
var {firstChild} = Parser.parse('{|\n|a\n|}');
assert.equal(firstChild, '{|\n|a\n|}');
assert.strictEqual(firstChild.getColCount(), 1);

getNextRow

展开

returns: TrToken
获取下一行(直接写在 TableToken 下的表格首行之后的下一行)。

// getNextRow
var {firstChild} = Parser.parse('{|\n|-\n|a\n|}'),
    tr = firstChild.querySelector('tr');
assert.equal(firstChild, '{|\n|-\n|a\n|}');
assert.strictEqual(firstChild.getNextRow(), tr);

getNthRow

展开

param: number 行号
returns: TrToken
获取第 n 行。

// getNthRow
var {firstChild} = Parser.parse('{|\n!a\n|-\n|b\n|}'),
    tr = firstChild.querySelector('tr');
assert.equal(firstChild, '{|\n!a\n|-\n|b\n|}');
assert.strictEqual(firstChild.getNthRow(0), firstChild);
assert.strictEqual(firstChild.getNthRow(1), tr);

getNthCol

展开

param: number 列号
returns: TdToken
获取第 n 列。仅用于直接写在 TableToken 下的表格首行。

// getNthCol
var {firstChild} = Parser.parse('{|\n!a\n|}'),
    td = firstChild.querySelector('td');
assert.equal(firstChild, '{|\n!a\n|}');
assert.strictEqual(firstChild.getNthCol(0), td);

getAllRows

展开

returns: TdToken[]
获取所有行。

// getAllRows
var {firstChild} = Parser.parse('{|\n!a\n|-\n|b\n|}'),
    tr = firstChild.querySelector('tr');
assert.equal(firstChild, '{|\n!a\n|-\n|b\n|}');
assert.deepStrictEqual(firstChild.getAllRows(), [firstChild, tr]);
Clone this wiki locally