func Anchor(url, content string) *exphtml.Node {
	a := &exphtml.Node{
		DataAtom: atom.A,
		Data:     "a",
		Type:     exphtml.ElementNode,
	}
	if url != "" {
		a.Attr = []exphtml.Attribute{exphtml.Attribute{Key: "href", Val: url}}
	}
	if content != "" {
		a.AppendChild(Text(content))
	}
	return a
}
Anchor constructs an Anchor Node
package h5
import (
	exphtml "golang.org/x/net/html"
	"golang.org/x/net/html/atom"
	"io"
	"strings"
)
func Data(n *exphtml.Node) string {
	if n.Data == "" {
		return n.DataAtom.String()
	}
	return n.Data
}
func CloneNode(n *exphtml.Node) *exphtml.Node {
	clone := new(exphtml.Node)
	clone.Type = n.Type
	clone.DataAtom = n.DataAtom
	clone.Data = n.Data
	clone.Attr = make([]exphtml.Attribute, len(n.Attr))
	copy(clone.Attr, n.Attr)
	for c := n.FirstChild; c != nil; c = c.NextSibling {
		nc := CloneNode(c)
		clone.AppendChild(nc)
	}
	return clone
}
func NewTree(n *exphtml.Node) Tree {
	return Tree{n}
}
type Tree struct {
	n *exphtml.Node
}
func (t Tree) Top() *exphtml.Node {
	return t.n
}
func (t Tree) Walk(f func(*exphtml.Node)) {
	WalkNodes(t.n, f)
}
func (t Tree) Render(w io.Writer) error {
	return RenderNodes(w, []*exphtml.Node{t.n})
}
func (t Tree) String() string {
	return RenderNodesToString([]*exphtml.Node{t.n})
}
func WalkNodes(n *exphtml.Node, f func(*exphtml.Node)) {
	if n != nil {
		f(n)
		for c := n.FirstChild; c != nil; c = c.NextSibling {
			WalkNodes(c, f)
		}
	}
}
func (t Tree) Clone() Tree {
	return Tree{CloneNode(t.n)}
}
func Text(str string) *exphtml.Node {
	return &exphtml.Node{
		Data: str,
		Type: exphtml.TextNode,
	}
}