Skip to content

TrToken

bhsd edited this page Jul 23, 2024 · 12 revisions

Other Languages

简介

表格行。

✅ 在 MiniBrowser 版本中可用。

Methods

lint

✅ 展开

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

// lint
var tr = Parser.parse('{|\n|-\na\n|}').querySelector('tr');
assert.equal(tr, '\n|-\na');
assert.deepStrictEqual(tr.lint(), [
	{
		rule: 'fostered-content',
		severity: 'error',
		message: 'content to be moved out from the table',
		startLine: 2,
		startCol: 0,
		startIndex: 6,
		endLine: 2,
		endCol: 1,
		endIndex: 7,
	},
]);

cloneNode

展开

returns: this
深拷贝节点。

// cloneNode (main)
var tr = Parser.parse('{|\n|-\n|a\n|}').querySelector('tr');
assert.equal(tr, '\n|-\n|a');
assert.deepStrictEqual(tr.cloneNode(), tr);

getColCount

展开

returns: number
获取列数。

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

getNextRow

展开

returns: this
获取下一行。

// getNextRow (main)
var [a, b] = Parser.parse('{|\n|-\n|a\n|-\n!b\n|}').querySelectorAll('tr');
assert.equal(a, '\n|-\n|a');
assert.equal(b, '\n|-\n!b');
assert.strictEqual(a.getNextRow(), b);

getPreviousRow

展开

returns: this
获取下一行。

// getPreviousRow (main)
var [a, b] = Parser.parse('{|\n|-\n|a\n|-\n!b\n|}').querySelectorAll('tr');
assert.equal(a, '\n|-\n|a');
assert.equal(b, '\n|-\n!b');
assert.strictEqual(b.getPreviousRow(), a);

getNthCol

展开

param: number 列号
returns: TdToken
获取第 n 列。

// getNthCol (main)
var tr = Parser.parse('{|\n|-\n|a\n|}').querySelector('tr'),
	{lastChild} = tr;
assert.equal(tr, '\n|-\n|a');
assert.deepStrictEqual(tr.getNthCol(0), lastChild);

insertTableCell

展开

param: string 单元格内部wikitext
param: {column: number} 单元格坐标
param: string 单元格类型
param: Record<string, string | number> 单元格属性
returns: TdToken
插入新的单元格。

// insertTableCell (main)
var tr = Parser.parse('{|\n|-\n|a\n|}').querySelector('tr');
assert.equal(tr, '\n|-\n|a');
tr.insertTableCell('b', {column: 1}, 'th', {rowspan: 2});
assert.equal(tr.toString(), '\n|-\n|a\n!rowspan="2"|b');

toHtml

展开

加入的版本: 1.10.0

returns: string
转换为 HTML。

// toHtml (main)
var [caption, td, empty] = Parser
	.parse('{|\n|-id=a\n|+a\n|-id=b\n|b\n|-id=c\n\n|}')
	.querySelectorAll('tr');
assert.equal(caption, '\n|-id=a\n|+a');
assert.equal(td, '\n|-id=b\n|b');
assert.equal(empty, '\n|-id=c\n');
assert.strictEqual(caption.toHtml(), '\n<caption >a</caption>');
assert.strictEqual(td.toHtml(), '<tr id="b">\n<td >b\n</td></tr>');
assert.strictEqual(empty.toHtml(), '');
Clone this wiki locally