CommentToken - bhsd-harry/wikiparser-node GitHub Wiki

Other Languages

简介

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

✅ 在 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。在 MiniBrowser 版本中为只读属性。

// 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 (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** ⚠️