TvarToken - bhsd-harry/wikiparser-node GitHub Wiki
扩展:Translate 中的 <tvar> 标签。这个类继承了 TagToken 类的全部属性和方法。
从 TagToken 继承的属性
展开
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);展开
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: 'tvar'
// type
var tvar = Parser.parse("<translate><tvar|1></></translate>")
.querySelector("tvar");
assert.equal(tvar, "<tvar|1>");
assert.strictEqual(tvar.type, "tvar");从 TagToken 继承的方法
展开
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 (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='"'>`);