diff --git a/mithril.js b/mithril.js index d417ff24..50479b0d 100644 --- a/mithril.js +++ b/mithril.js @@ -210,11 +210,13 @@ Mithril = m = new function app(window, undefined) { node = namespace === undefined ? window.document.createElement(data.tag) : window.document.createElementNS(namespace, data.tag) cached = { tag: data.tag, - //process children before attrs so that select.value works correctly - children: build(node, data.tag, undefined, undefined, data.children, cached.children, true, 0, data.attrs.contenteditable ? node : editable, namespace, configs), + //set attributes first, then create children attrs: setAttributes(node, data.tag, data.attrs, {}, namespace), + children: build(node, data.tag, undefined, undefined, data.children, cached.children, true, 0, data.attrs.contenteditable ? node : editable, namespace, configs), nodes: [node] } + //edge case: setting value on