CommentToken - bhsd-harry/wikiparser-node GitHub Wiki

Other Languages

简介

HTML 注释。这个类继承了 NowikiBaseToken 类的全部属性和方法,这里不再列出。

✅ 在 MiniBrowser 版本中可用。
🌐 在 Browser 版本中可用。

Properties

closed

✅ 展开

type: boolean
是否闭合。

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

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-->');

Methods

cloneNode

展开

returns: this
深拷贝节点。

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

lint

✅ 展开

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

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

print

🌐 展开

returns: string
以HTML格式输出。

// print
var {firstChild, lastChild} = Parser.parse('<!-- a --><!-- b');
assert.equal(firstChild, '<!-- a -->');
assert.equal(lastChild, '<!-- b');
assert.strictEqual(
	firstChild.print(),
	'<span class="wpb-comment">&lt;!-- a --&gt;</span>',
);
assert.strictEqual(
	lastChild.print(),
	'<span class="wpb-comment">&lt;!-- b</span>',
);
⚠️ **GitHub.com Fallback** ⚠️