Skip to content

CommentToken

Bhsd edited this page Dec 6, 2024 · 22 revisions

Other Languages

简介

HTML 注释。

✅ 在 MiniBrowser 版本中可用。

Properties

closed

✅ 展开

type: boolean
是否闭合。

// closed
var {firstChild} = Parser.parse('<!--');
assert.equal(firstChild, '<!--');
assert(!firstChild.closed);
firstChild.closed = true;
assert.equal(firstChild, '<!---->');

innerText

✅ 展开

type: string
内部 wikitext。

// innerText
var {firstChild} = Parser.parse('<!--a-->');
assert.equal(firstChild, '<!--a-->');
assert.strictEqual(firstChild.innerText, 'a');
// innerText (main)
var {firstChild} = Parser.parse('<!--a-->');
firstChild.innerText = 'b';
assert.equal(firstChild, '<!--b-->');

hidden

展开

type: true
CommentToken 不可见,只读。

// hidden (main)
var {firstChild} = Parser.parse('<!--a-->');
assert.equal(firstChild, '<!--a-->');
assert(firstChild.hidden);

Methods

lint

✅ 展开

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

// lint
var {firstChild} = Parser.parse('<!--');
assert.equal(firstChild, '<!--');
assert.deepStrictEqual(firstChild.lint(), [
	{
		rule: 'unclosed-comment',
		severity: 'error',
		message: 'unclosed HTML comment',
		startLine: 0,
		startCol: 0,
		startIndex: 0,
		endLine: 0,
		endCol: 4,
		endIndex: 4,
		suggestions: [
			{
				range: [4, 4],
				text: '-->',
				desc: 'close',
			},
		],
	},
]);

cloneNode

展开

returns: this
深拷贝节点。

// cloneNode (main)
var {firstChild, lastChild} = Parser.parse('<!--a--><!--b'),
	closed = firstChild.cloneNode(),
	open = lastChild.cloneNode();
assert.equal(firstChild, '<!--a-->');
assert.equal(closed, '<!--a-->');
assert.equal(lastChild, '<!--b');
assert.equal(open, '<!--b');
assert.deepStrictEqual(closed, firstChild);
assert.deepStrictEqual(open, lastChild);
Clone this wiki locally