d的html5解析器
原创
©著作权归作者所有:来自51CTO博客作者fqbqrr的原创作品,请联系作者获取转载授权,否则将追究法律责任
原文
import parserino;
void main()
{
//Parserino修复你的html5
Document doc = "<html>超文";
assert(doc.toString() == "<html><head></head><body>超文本</body></html>");
//给页面设置标题
doc.title = "你好";
assert(doc.toString() == "<html><head><title>你好,世界</title></head><body>超文本</body></html>");
//附加html片段
doc.body.appendChild(`
<a href="/first.html">first</a>
<div>
<a id="tochange" href="/second.html">second</a>
</div>
`.asFragment //不用.asFragment附加纯文本
);
//创建并填充html元素
auto newElement = doc.createElement("a");
newElement.setAttribute("href", "third.html");
newElement.innerText("third");
doc.body.appendChild(newElement);
//可用选择器选择元素
doc
.bySelector("div a") //在<div>块,选择全部<a>
.frontOrThrow //取区间的第一个元素或抛异常
.innerText="changed!"; //更改内部文本
assert(doc.body.byId("tochange").innerText == "changed!");
}