diff --git a/global.go b/global.go index dab32d3..5270e44 100644 --- a/global.go +++ b/global.go @@ -7,9 +7,10 @@ import ( ) var ( - Doc = GetDocument() - Body = getFirstWithTag("body") - Head = getFirstWithTag("head") + Doc = GetDocument() + Body = getFirstWithTag("body") + Head = getFirstWithTag("head") + Title = getOrCreateFirstWithTag(getFirstWithTag("head"), "title") ) func getFirstWithTag(tag string) *HTMLElement { @@ -20,6 +21,19 @@ func getFirstWithTag(tag string) *HTMLElement { return list[0].AsHTMLElement() } +func getOrCreateFirstWithTag(parent *HTMLElement, tag string) *HTMLElement { + e := getFirstWithTag(tag) + if e != nil { + return e + } + if parent == nil { + return nil + } + e = Doc.CreateElement(tag).AsHTMLElement() + parent.AppendChild(e) + return e +} + // Value is an alias for js.Wrapper. // // Derprecated: use js.Wrapper