TvarToken - bhsd-harry/wikiparser-node GitHub Wiki

Other Languages

简介

扩展:Translate 中的 <tvar> 标签。这个类继承了 TagToken 类的全部属性和方法,这里不再列出。

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

Properties

TagToken 继承的属性

legacy

展开

type: boolean
是否使用了旧语法。

// legacy (main)
var tvar = Parser.parse('<translate><tvar|1></></translate>')
	.querySelector('tvar');
assert.equal(tvar, '<tvar|1>');
assert.ok(tvar.legacy);
tvar = Parser.parse('<translate><tvar name=2></tvar></translate>')
	.querySelector('tvar');
assert.equal(tvar, '<tvar name=2>');
assert.ok(!tvar.legacy);

name

展开

type: string | undefined
变量名。

// name (main)
var tvar = Parser.parse('<translate><tvar|1></></translate>')
	.querySelector('tvar');
assert.equal(tvar, '<tvar|1>');
assert.strictEqual(tvar.name, '1');
tvar = Parser.parse('<translate><tvar name="2"></tvar></translate>')
	.querySelector('tvar');
assert.equal(tvar, '<tvar name="2">');
assert.strictEqual(tvar.name, '2');

type

✅ 展开

type: 'tvar'

// type
var tvar = Parser.parse('<translate><tvar|1></></translate>')
	.querySelector('tvar');
assert.equal(tvar, '<tvar|1>');
assert.strictEqual(tvar.type, 'tvar');

Methods

TagToken 继承的方法

cloneNode

展开

returns: this
深拷贝节点。

// cloneNode (main)
var [
	opening,
	closing,
	legacyOpening,
	legacyClosing,
] = Parser.parse('<translate><tvar name=a></tvar><tvar|b></></translate>')
	.querySelectorAll('tvar');
assert.equal(opening, '<tvar name=a>');
assert.equal(closing, '</tvar>');
assert.equal(legacyOpening, '<tvar|b>');
assert.equal(legacyClosing, '</>');
assert.deepStrictEqual(opening.cloneNode(), opening);
assert.deepStrictEqual(closing.cloneNode(), closing);
assert.deepStrictEqual(legacyOpening.cloneNode(), legacyOpening);
assert.deepStrictEqual(legacyClosing.cloneNode(), legacyClosing);

setName

展开

设置变量名。

// setName (main)
var tvar = Parser.parse('<translate><tvar|1></></translate>')
	.querySelector('tvar');
assert.equal(tvar, '<tvar|1>');
tvar.setName('a');
assert.equal(tvar, '<tvar|a>');
tvar = Parser.parse(`<translate><tvar name="'"></tvar></translate>`)
	.querySelector('tvar');
assert.equal(tvar, `<tvar name="'">`);
tvar.setName('"');
assert.equal(tvar, `<tvar name='"'>`);
⚠️ **GitHub.com Fallback** ⚠️