diff options
-rw-r--r-- | src/html/dom.nim | 8 | ||||
-rw-r--r-- | test/js/element.html | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/html/dom.nim b/src/html/dom.nim index 96970d7b..9fa724f1 100644 --- a/src/html/dom.nim +++ b/src/html/dom.nim @@ -2094,9 +2094,13 @@ func length(characterData: CharacterData): uint32 {.jsfget.} = return uint32(characterData.data.utf16Len) func tagName(element: Element): string {.jsfget.} = + let document = element.document + result = document.toStr(element.prefix) + if result.len > 0: + result &= ':' + result &= document.toStr(element.localName) if element.namespace == Namespace.HTML: - return element.document.toStr(element.localName).toUpperAscii() - return element.document.toStr(element.localName) + result = result.toUpperAscii() func nodeName(node: Node): string {.jsfget.} = if node of Element: diff --git a/test/js/element.html b/test/js/element.html index 85f63e0c..1f63fd88 100644 --- a/test/js/element.html +++ b/test/js/element.html @@ -5,8 +5,10 @@ <script> const x = document.getElementById("x"); assertEquals(x.localName, "div"); +assertEquals(x.tagName, "DIV"); assertEquals(x.classList.item(-1), null); assertEquals(x.classList[-1], undefined); assertEquals(x.classList[1], "b"); +assertEquals(document.createElementNS("test", "test:div").tagName, "test:div"); x.textContent = "Success"; </script> |