diff --git a/src/wrappers/HTMLElement.js b/src/wrappers/HTMLElement.js index 86167c8..fdc6b62 100644 --- a/src/wrappers/HTMLElement.js +++ b/src/wrappers/HTMLElement.js @@ -230,6 +230,17 @@ var df = frag(contextElement, text); contextElement.insertBefore(df, refNode); + }, + + get hidden() { + return this.hasAttribute('hidden'); + }, + set hidden(v) { + if (v) { + this.setAttribute('hidden', ''); + } else { + this.removeAttribute('hidden'); + } } }); diff --git a/test/js/HTMLElement.js b/test/js/HTMLElement.js index fe73ea7..e8c2859 100644 --- a/test/js/HTMLElement.js +++ b/test/js/HTMLElement.js @@ -101,4 +101,13 @@ suite('HTMLElement', function() { assert.equal(div.innerHTML, ''); }); + test('hidden property', function() { + var div = document.createElement('div'); + assert.isFalse(div.hidden); + div.hidden = true; + assert.isTrue(div.hasAttribute('hidden')); + assert.equal(div.getAttribute('hidden'), ''); + div.hidden = false; + assert.isFalse(div.hasAttribute('hidden')); + }); });