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'));
+ });
});