CommentToken - bhsd-harry/wikiparser-node GitHub Wiki
HTML 注释。这个类继承了 NowikiBaseToken 类的全部属性和方法,这里不再列出。
✅ 在 Mini 和 Browser 版本中可用。
🌐 在 Browser 版本中可用。
✅ 展开
type: boolean
是否闭合。
// closed
var {firstChild} = Parser.parse('<!-- a');
assert.equal(firstChild, '<!-- a');
assert.ok(!firstChild.closed);
firstChild.closed = true;
assert.equal(firstChild, '<!-- a-->');
✅ 展开
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-->');
展开
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);
✅ 展开
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',
},
],
},
]);
🌐 展开
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"><!-- a --></span>',
);
assert.strictEqual(
lastChild.print(),
'<span class="wpb-comment"><!-- b</span>',
);