MediaWiki为模块中提供了很多标签使用方法,皆为面向对象的。本页面介绍它们。
mw.html.create(【标签名字】)
是使用对象的第一步。这个函数将返回一个标签对象。如果没有提供参数,则返回一个没有标签的空标签对象。
这个元方法使对象变为字符串。因此你可以使用tostring()
。
向这个对象中输入text
,添加在关闭标签(空标签对象添加在末尾)的前面。text
可以是nil、字符串或数字。不能输入标签对象。如要使用,请先tostring()。返回结果为对象自身。
向对象增加一个值为value
的attr
HTML属性。请注意这个方法会覆盖原有属性。返回结果为对象自身。
向对象增加class
类。不会覆盖原有的。class
可以是包含一个或多个类的一个字符串。返回结果为对象自身。
向对象增加css
的CSS文本。不会覆盖原有的。返回结果为对象自身。
向对象增加一个值为value
的css
CSS属性。不会覆盖原有的。返回结果为对象自身。
创建一个新的name
标签对象,然后向原来对象中输入这个新对象,添加在关闭标签的前面(空标签对象添加在末尾),并将原来对象设置为新对象的一个属性(父对象)。返回结果为新的对象。
:tag(name)
增加一缩进。:done()
(第一种情况)减少一缩进。:done()
之前是没有值的。并且只有:done()
后面可以加分号。当然你可以全都不换行,但那怎么好看呢?obj = mw.html.create("div") :addClass("foo") :tag("span") :css("color","#114514") :wikitext("bar") :done()
:done()
,obj就成了一个span而不是div。obj = obj:done()
记住不能漏掉“obj =”,因为:done()
不作任何操作,只返回值。
obj = mw.html.create("div") obj:addClass("foo") :tag("span") :css("color","#114514") :wikitext("bar") :done() :wikitext("emm")
obj = mw.html.create("div") :addClass("foo") :tag("span") obj:css("color","#114514") :wikitext("bar") :done() :wikitext("emm")
两者区别在于,第一个执行完毕后是div,而第二个是span。这就告诉我们使用:done()
一定要弄清变量是否有指向自己想要的对象,自己是在赋值还是直接操作。
|